Windows socket error: 在其上下文中,该请求的地址无效。 (10049), on API 'bind

来源:百度知道 编辑:UC知道 时间:2024/05/18 00:52:55
不用陆由器就可以连外网....一用陆由器就出现这种情况...陆由器的映射决对没问题...各位大大们帮帮忙...解决下..小弟这里谢过了...我会加分的.

那和你的防火墙配置有关,和你的程序没有关系!
  查找一下你的防火墙设置,把和你程序相关的“规则”删除
  源代码是这样的
  BOOL CServerDlg::InitNetwork()
  {
  WSADATA wsaData;
  if(WSAStartup(MAKEWORD(2,1), &wsaData) != 0)
  {
  WSACleanup();
  AfxMessageBox( "初始化网络协议失败! ");
  return FALSE;
  }

  ServerSocket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
  if(ServerSocket == INVALID_SOCKET)
  {
  closesocket(ServerSocket);
  WSACleanup();
  AfxMessageBox( "创建套接字失败! ");
  return FALSE;
  }

  sockaddr_in localAddr;
  //memset((void*)&localAddr, 0, sizeof(localAddr));
  localAddr.sin_family = AF_INET;
  localAddr.sin_port = htons(8888);
  localAddr.sin_addr.s_addr = htonl(INADDR_ANY);
  if(bind(ServerSocket, (struct sockaddr*)&localAddr, sizeof(localAddr)) == SOCKET_ERROR)
  {
  //就在这里绑定不起,错误代码为10049
  closesocket(ServerS