UDP套接字绑定出10049错误 本帖最后由 VisualEleven 于 2010-10-28 11:41:30 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 10049: The requested address is not valid in its context. hAddr.sin_addr.s_addr=inet_addr(hIPAddress);//---------------------你这里的地址是你的本机的有效的地址吗?另外bind之前,先将hAddr初始化一下,memset(&hAddr, 0, sizeof(hAddr));你可以这样试一下SOCKADDR_IN hAddr;memset(&hAddr, 0, sizeof(hAddr));hAddr.sin_family = AF_INET;hAddr.sin_port = htons(8699);hAddr.sin_addr.S_un.S_addr = INADDR_ANY;if(SOCKET_ERROR == bind(hSocketUDPSend, (LPSOCKADDR)&hAddr, sizeof(hAddr))){ ....} 只有服务端才需要绑定IP加端口,因此自然只能绑定本机的IPif(send(hSocketUDPSend,buf,str.GetLength(),0)==SOCKET_ERROR)既然绑定的是本机,并且用来作为服务端,自然不可以向该socket发送数据,因此你这么做会出错.而且即便发送也应该用sendto.如果你要它作为客户端,那你应该不进行bind,而直接调用sendto,如果你想使用send,那在调用前需要执行connect 都不爱初始化 ??? SOCKET 使用需要先初始化 请教个PPPoE的问题 出个面试题来娱乐一下 如何得到一个外部程序的DC,并在它上面drawText出一些字来? 内附代码,请进入讨论 怎么在ActiveX写回调函数 GetPrivateProfileString怎么总是读不出来 关于菜单位置的问题! 当用户在Edit或view(CEditView)中输入时(都为WM_CHAR消息),如何区分输入对象? 开发 for OS/2 的DLL 天啊,该死的GetTickCount函数! 如何用不同的颜色向文本框输出文字? WMI访问远程机器上的程序的问题,在线等 小弟求达人指教
---------------------
你这里的地址是你的本机的有效的地址吗?另外bind之前,先将hAddr初始化一下,memset(&hAddr, 0, sizeof(hAddr));
你可以这样试一下
SOCKADDR_IN hAddr;
memset(&hAddr, 0, sizeof(hAddr));
hAddr.sin_family = AF_INET;
hAddr.sin_port = htons(8699);
hAddr.sin_addr.S_un.S_addr = INADDR_ANY;
if(SOCKET_ERROR == bind(hSocketUDPSend, (LPSOCKADDR)&hAddr, sizeof(hAddr)))
{
....
}
既然绑定的是本机,并且用来作为服务端,自然不可以向该socket发送数据,因此你这么做会出错.而且即便发送也应该用sendto.如果你要它作为客户端,那你应该不进行bind,而直接调用sendto,如果你想使用send,那在调用前
需要执行connect