用API创建中WinSock能建立消息映射吗

WieldWolf 2003-12-06 11:58:39
我API创建的WinSock,能不能加入消息映射,如收到信息或关闭时,而不用一个循环在那里不断的recv啊
哪位高手教我怎么做啊
...全文
27 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pp616 2003-12-08
  • 打赏
  • 举报
回复
自己定义一个消息
#define WM_SOCKET WM_USER + 200
创建好Socket后
WSAAsyncSelect(sock,接收消息的句柄,WM_SOCKET,要处理的事件类型);

WSAAsyncSelect(msocket,Form1->Handle,WM_SOCKET,FD_ACCEPT|FD_READ|FD_WRITE|FD_CLOSE);

然后自己处理WM_SOCKET消息
消息中Message.WParam 参数为Socket LParam分高位和底位有定义好的宏来处理就好了。
先WSAGETSELECTERROR(Message.LParam)看是否有错误。如果没有就
switch(WSAGETSELECTEVENT(Message.LParam))
{
case FD_ACCEPT://有连接进入
break;
case FD_READ://有数据进入
break;
case FD_WRITE://可以发送数据
break;
case FD_CLOSE://连接关闭
break;
}
constantine 2003-12-07
  • 打赏
  • 举报
回复
记得好象可以...太久没有搞网络的了,不记得怎么写了。
WieldWolf 2003-12-06
  • 打赏
  • 举报
回复
用WSAAsyncSelect可以吗?有哪位能给个代码啊
叶子哟 2003-12-06
  • 打赏
  • 举报
回复
faq里有一段用api写的代码,你可以参考一下

1,314

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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