sendto老失败怎么回事

三重罗生门 2011-06-03 10:42:55
sendto函数返回值总是-1,这种情况只是发送端有问题,还是说接收端也会导致发送失败

void Socket::Socket_init()
{
//加载套接字
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested=MAKEWORD(1,1);
err=WSAStartup(wVersionRequested,&wsaData);
if (err!=0)
{
//return TRUE;
}
if (LOBYTE(wsaData.wVersion) !=1||
HIBYTE(wsaData.wVersion) !=1)
{
WSACleanup();
//return TRUE;
}
//创建套接字
SOCKET sockSrv_S=socket(AF_INET,SOCK_DGRAM,0);

addrClient_R.sin_addr.S_un.S_addr=inet_addr("192.168.1.227");
addrClient_R.sin_family=AF_INET;
addrClient_R.sin_port=htons(3000);

}

int Socket::Socket_send()
{
len=sizeof(SOCKADDR);
return(sendto(sockSrv_S,sendBuf,strlen(sendBuf)+1,0,(SOCKADDR*)&addrClient_R,len));

}


int ns;
socket.Socket_init();
sendBuf[0]='s';
ns=socket.Socket_send();
帮我看一下呀!
...全文
771 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
三重罗生门 2011-06-04
  • 打赏
  • 举报
回复
楼上说的对,是这的问题。现在又出现了recvfrom()不阻塞,我这边还没发,接收端就返回了,很怪!
lirg8405 2011-06-04
  • 打赏
  • 举报
回复
SOCKET sockSrv_S=socket(AF_INET,SOCK_DGRAM,0);
你这个创建的是一个临时的socket
按你这样的,需要是一个全局的
三重罗生门 2011-06-04
  • 打赏
  • 举报
回复
当我创建两个SOCKET端口后没选择I/O模型,怎么recvfrom()就不阻塞了,返回值为-1.我发送端 还没发,这边就返回了,难道自动成异步模式 了?
羽飞 2011-06-03
  • 打赏
  • 举报
回复
An operation was attempted on something that is not a socket. Either the socket handle parameter did not reference a valid socket, or for select, a member of an fd_set was not valid.
他说你用的socket不是套接字,你看看socket函数返回值是啥
三重罗生门 2011-06-03
  • 打赏
  • 举报
回复
UDP的是在接收端bind的呀!
shenyi0106 2011-06-03
  • 打赏
  • 举报
回复
GetLastError看看错误时什么?
是不是没bind?
三重罗生门 2011-06-03
  • 打赏
  • 举报
回复
GetLastError()返回值是10038,怎么查看呢?
oyljerry 2011-06-03
  • 打赏
  • 举报
回复
GetLastError先看错误信息,然后来分析
kyotrue 2011-06-03
  • 打赏
  • 举报
回复
GetLastError()看看什么错
maoxing63570 2011-06-03
  • 打赏
  • 举报
回复
GetLastError()返回?
wllxe 2011-06-03
  • 打赏
  • 举报
回复
如果是服务器端的话一定要bind一下才可以……
三重罗生门 2011-06-03
  • 打赏
  • 举报
回复
sockSrv_S=socket(AF_INET,SOCK_DGRAM,0);的返回值是3356,看套接字的创建过程也没啥错啊!

18,356

社区成员

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

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