关于recvfrom函数

loucai 2003-06-16 11:24:32
调用一次recvfrom()后,它怎么会影响到里面的SOCKET变量?
...全文
147 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
loucai 2003-06-16
  • 打赏
  • 举报
回复
就是在一个循环中,调用这个函数,当接受一次数据后,发现里面的SOCKET变量被改变了,再执行这个函数,出错。
freewing 2003-06-16
  • 打赏
  • 举报
回复
?
loucai 2003-06-16
  • 打赏
  • 举报
回复
是用了线程了,不过只是接收数据,没有更改初始设置,可是当接收完数据后,那个sLocal被更改了。谢谢各位老大。
lichungen 2003-06-16
  • 打赏
  • 举报
回复
是不是用了多线程,在别的线程中改变了
loucai 2003-06-16
  • 打赏
  • 举报
回复
初始化代码如下:
WSADATA wsd;
SOCKET sLocal, sRemote,sTmp;
struct sockaddr_in local;
char buff[16];

if(WSAStartup(MAKEWORD(2, 2), &wsd) != 0){
AfxMessageBox("WSAStartup() failed!");
return 0;
}

sLocal = socket(AF_INET, SOCK_DGRAM, 0);

if(sLocal == SOCKET_ERROR){
AfxMessageBox("socket() failed!");
closesocket(sLocal);
WSACleanup();
}

local.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
local.sin_family=AF_INET;
local.sin_port=htons(2222);

int ret=bind(sLocal,(struct sockaddr *)&local,sizeof(local));

if(ret==SOCKET_ERROR){
AfxMessageBox("bind() failed!");
closesocket(sLocal);
WSACleanup();
return 0;
};
jemmylau 2003-06-16
  • 打赏
  • 举报
回复
是不是初始化工作没做好?

18,363

社区成员

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

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