在DLL中使用异步socket的问题

bluesea_2000 2008-06-03 10:48:18
各位大虾,我想在DLL中使用异步的socket。但是因为WSAAsyncSelect的第二个参数是HWND,需要一个窗口句柄,但是我是写DLL,并没有窗口,这该怎么办呢?
...全文
88 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnzdgs 2008-06-04
  • 打赏
  • 举报
回复
如果一定要用WSAAsyncSelect,可以通过参数把窗口句柄传给DLL,在DLL里面用SetWindowLong重设窗口的WindowProc,在DLL中的WindowProc里面判断,如果是网络事件,就进程处理并返回,否则调用原来的WindowProc。
ouyh12345 2008-06-04
  • 打赏
  • 举报
回复
在dll里,没必要的话,就不要使用消息驱动
cppwin 2008-06-04
  • 打赏
  • 举报
回复
IOCP 速度最快 不用窗口 异步操作
zottff 2008-06-04
  • 打赏
  • 举报
回复
不用消息驱动,用事件驱动WSAEventSelect,这样就不需要窗口了
bluesea_2000 2008-06-03
  • 打赏
  • 举报
回复
还有其他的方法吗?
cnzdgs 2008-06-03
  • 打赏
  • 举报
回复
那就在DLL中自己创建一个窗口,不显示出来。
bluesea_2000 2008-06-03
  • 打赏
  • 举报
回复
这样的话网络消息就发给了DLL以外的窗口处理,但是我希望所有的处理都由DLL内部来处理
cnzdgs 2008-06-03
  • 打赏
  • 举报
回复
调用DLL导出函数的时候把窗口句柄作为参数传过来。
9527他大爷 2008-06-03
  • 打赏
  • 举报
回复
DLL提供一个函数用于设置HWND,调用这个DLL的程序先调用设置HWND函数将句柄传给DLL,

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧