社区
Windows SDK/API
帖子详情
如何将socket传递进dll
山娃马小三儿
2017-04-16 02:58:28
开发环境delphi7,使用winsock2文件
一个主程序框架,用来接受客户端连接,客户端发起连接后,程序判断连接的合法性,如果合法就将这个连接传入一个dll,所有的收发工作都在这个dll里面进行,dll可以关闭这个socket。
最好有dll的简单代码,谢谢
...全文
405
8
打赏
收藏
如何将socket传递进dll
开发环境delphi7,使用winsock2文件 一个主程序框架,用来接受客户端连接,客户端发起连接后,程序判断连接的合法性,如果合法就将这个连接传入一个dll,所有的收发工作都在这个dll里面进行,dll可以关闭这个socket。 最好有dll的简单代码,谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xhz8000
2017-04-24
打赏
举报
回复
还有一点要注意,你dll里定义的 function test(hwnd :Pointer):boolean; 如果你主程序里是这样定义的 function(hwnd :Pointer):boolean;stdcall;也是不行的,要保持一致 感觉是一致的啊 ^_^ 好久没有回答问题了,看见楼主这样说我想说两句。 以前我们看见人家说调用DLL要加stdcall,我也是就加了,现在想起来 其实是别人回答只是让你知道要加,但是不知道为什么加的感觉。 其实加这个就是参数入栈的问题,因为每个编译器所编译的 代码入栈的顺序不一样,加了之后就是让大家保持一致,不至于取参数错误,或者访问栈错误。 你现在这个函数刚好一个参数, 所以基本是没有问题的,不管是从右到左还是从左到右入栈都没有问题,还有如果都是D调用不加也无所谓,但是供别的语言调用 最好还是加上,都按照这个入参约定调用,保证没有问题。
蓝色光芒
2017-04-17
打赏
举报
回复
Socket就是一个整型,直接当作普通函数的参数传递到dll里就可以了
山娃马小三儿
2017-04-17
打赏
举报
回复
还有一点要注意,你dll里定义的
function test(hwnd :Pointer):boolean;
如果你主程序里是这样定义的
function(hwnd :Pointer):boolean;stdcall;也是不行的,要保持一致
感觉是一致的啊
山娃马小三儿
2017-04-17
打赏
举报
回复
就算没发送成功,但是也没关掉连接
蓝色光芒
2017-04-17
打赏
举报
回复
还有一点要注意,你dll里定义的 function test(hwnd :Pointer):boolean; 如果你主程序里是这样定义的 function(hwnd :Pointer):boolean;stdcall;也是不行的,要保持一致
蓝色光芒
2017-04-17
打赏
举报
回复
winsock2.send(socket, sendData[0], 4, 0); winsock2.closesocket(socket); 发送完马上就关闭,你让底层怎么响应呢, 你可以中间等一下再关 winsock2.send(socket, sendData[0], 4, 0); Sleep(10000); ///测试用 winsock2.closesocket(socket);
山娃马小三儿
2017-04-17
打赏
举报
回复
这是dll简单代码 function test(hwnd :Pointer):boolean; var SendData :Array [0..3] of byte; socket :TSocket; begin socket :=TSocket(hwnd); SendData[0] :=1; SendData[1] :=2; SendData[2] :=3; SendData[3] :=4; winsock2.send(socket, sendData[0], 4, 0); winsock2.closesocket(socket); Result :=True; end; exports test; begin end. -------------------- 主程序里验证完socket的合法性后 test(Pointer(Socket));
山娃马小三儿
2017-04-17
打赏
举报
回复
传是传进去了,也不报错,但是没法收发数据,也没法关闭这个socket 啊
Socket
实现下载(
DLL
)
1. **初始化Winsock**:调用`WSAStartup`函数,
传递
版本信息和WSA数据结构,使系统准备好使用
Socket
服务。 2. **创建
Socket
**:使用`
socket
`函数创建一个
Socket
描述符,指定协议类型(如TCP或UDP)、地址家族(如...
PB10.5 + VC2008
socket
例程(VC源码,PB源码,
socket
应用源码)
当VC通过
socket
接收到数据并处理完毕后,会将数据存入缓存,并发送一个通知消息到PB。PB通过监听这个消息,读取缓存中的数据,并在用户界面
进
行更新。 实现这一过程的关键步骤可能包括: 1. 在VC2008中编写
socket
...
Socket
-text通讯.rar
这是一款基于
Socket
的异步通信系统--SanNiuSignal.
DLL
已开源,主要实现了 客户端与服务器端之间的信息
传递
,可以发送图片、txt文件,对于学习C#网络 编程的朋友们来说,比较具有学习价值,值得推荐一下,感兴趣的...
精通Windows.API-函数、接口、编程实例.pdf
4.4.2 通过Mapping File在
进
程间
传递
和共享数据 115 4.4.3 通过文件句柄获得文件路径 118 4.5 总结 121 第5章 内存管理 122 5.1 Windows内存管理原理 122 5.1.1 基本概念 122 5.1.2 分页与分段内存管理...
Python编程提高:如何调用
DLL
函数之
传递
数值、指针与字符串参数
由于
DLL
中函数中
传递
的参数类型比较多样化,拟打算分三次讲解这部分内容,这次先讲
传递
数值、指针与字符串参数的情况,后面再分两次讲解
传递
结构体、数值数组等类型的情况。
DLL
文件的加载 假定已经有了一个
DLL
...
Windows SDK/API
1,183
社区成员
22,328
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章