线程中ReceiveFrom怎么不阻塞呢?

myanbu2008 2012-02-26 11:35:42
我在CChatSrvDlg的按钮响应函数里面定义了CSocket MySocket;
然后在里面MySocket.Create(8888,SOCK_DGRAM);
之后创建了一个线程函数,再在线程函数里面

CChatSrvDlg *pDlg=new CChatSrvDlg();
while(1)
{
......
pDlg->SocketRcv.ReceiveFrom(recvbuff,MAX_PATH+250,recvadd,port,0);/
AfxMessageBox(_T("1"));
}

运行之后程序会不停地弹输出,按理说这个线程应该阻塞啊,在收到数据之前卡在输出这一步才对,现在不阻塞了什么原因求解?
...全文
277 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙哥依旧 2012-07-04
  • 打赏
  • 举报
回复
10038:在一个非套接字上尝试了一个操作。
你这个套接字create成功了否?
myanbu2008 2012-02-28
  • 打赏
  • 举报
回复
百度一下,10038:描述符不是套接字?难道没有正确引用到socket.Rev套接字?
myanbu2008 2012-02-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ddlddy 的回复:]

GetLastError()
[/Quote]

pDlg->SocketRcv.GetLastError=10038;
myanbu2008 2012-02-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fishion 的回复:]

判断 ReceiveFrom的返回值是否正确
[/Quote]

int m=ReceiveFrom 格式化输出是-1;

龙哥依旧 2012-02-28
  • 打赏
  • 举报
回复
GetLastError()
fishion 2012-02-27
  • 打赏
  • 举报
回复
判断 ReceiveFrom的返回值是否正确

18,356

社区成员

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

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