关于使用recvfrom的问题

现在还是人类 2008-05-13 06:31:25
这段时间看了一下SOCK方面的API,我在使用recvfrom读取UDP数据的时候出现程序被卡住的状态。
当然信息来了一样接收得到信息,但是程序像卡住的状态的确不是很好。
后来看了一下CSocketMaster这个范例。
好像是创建了一个窗口用来接收信息,当FD_READ信息到达时才用recvfrom函数
接收信息。但是这个信息这样处理好象不对,收不到需要的Sock信息FD_READ

...
Dim SockInfohWnd As Long, r As Long
SockInfohWnd = CreateWindowEx(0&, "STATIC", "SOCKET_WINDOW", 0&, 0&, 0&, 0&, 0&, 0&, 0&, App.hInstance, ByVal 0&)
r = GetWindowLong(SockInfohWnd, GWL_WNDPROC)
r = SetWindowLong(SockInfohWnd, GWL_WNDPROC, AddressOf WndProc)
...

Public Sub WndProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long)
Debug.Print "收到消息:" & uMsg & " " & wParam
Select Case uMsg
Case RESOLVE_MESSAGE
Case SOCKET_MESSAGE
Select Case wParam
Case FD_CONNECT: '连接成功(用于TCP协议)
Case FD_WRITE: '发送信息
Case FD_READ: '收到数据
Case FD_ACCEPT: '收到连接请求(用于TCP协议)
Case FD_CLOSE: '关闭连接(用于TCP协议)
End Select
End Select
End Sub

具体该如何处理这个窗口呢?怎样才能在WndProc里收到Sock的信息呢?原理是什么?有高手马上加分
...全文
124 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
现在还是人类 2008-05-14
  • 打赏
  • 举报
回复
哎,搞清楚了,郁闷
现在还是人类 2008-05-14
  • 打赏
  • 举报
回复
晚上都没人,自己坐沙发,呵呵

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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