socket错误原因?

goforit 2011-04-28 05:39:19
if(recvfrom(sockWordsClient,(char*)&M_Words,sizeof(M_Words),0,(SOCKADDR*)&Client_addr,&len)==-1);
{
int xxxx;
xxxx=WSAGetLastError();
}

我写的这段代码xxxx得到的值是 10040,这是什么错误(msdn我已经查过了,可还是不知道这是什么具体错误!)请高手指教!我可能错在什么地方 了?
还有!在我测试的时候还出现如下问题!

//接受数据包 到这里(指recvfrom()一直堵塞,即使客户端发送了信息可还是堵塞,就是抓不到包)就无法再进行下去(把要发的目标的对话框关了就可以执行下面的语句了)?
//我测试这里出现了问题,主要是对话包没办法接受,当A发送给B对话包后,这个
//recvfrom()还在堵塞,所以服务器也收不到对话包,也无法转发,B就收不到对话了!
//可有趣的是,当B关闭对话框后,A再发对话,服务器在这里就不会一直堵塞了
//收到了A的对话包!
//这是什么原因?
...全文
72 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2011-04-28
  • 打赏
  • 举报
回复
你的M_Words变量是怎么定义的?
wocow3 2011-04-28
  • 打赏
  • 举报
回复
10040
一个在数据报套接字上发送的消息大于内部消息缓冲器或其他一些网络限制,或该用户用于
接收数据报的缓冲器比数据报小。

你的sizeof(M_Words)缓冲区太小了
__lhy 2011-04-28
  • 打赏
  • 举报
回复
error10040

一个在数据报套接字上发送的消息大于内部消息缓冲器或其他一些网络限制,或该用户用于接收数据报的缓冲器比数据报小。
忽悠 2011-04-28
  • 打赏
  • 举报
回复
灵异事件,帮你顶下,我也求高手指点。

18,356

社区成员

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

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