#define DEST_IP_ADDR "192.168.2.18"//运行程序的本机IP地址
        status=WSAStartup(MAKEWORD(1, 1), &Data);
destAddr=inet_addr(DEST_IP_ADDR);
memcpy(&destSockAddr.sin_addr, &destAddr,sizeof(destAddr));
destSockAddr.sin_port=htons(PORT);
destSockAddr.sin_family=AF_INET;
destSocket=socket(AF_INET, SOCK_STREAM, 0);
//上面执行返回都成功,但是下面返回就出现status == SOCKET_ERROR
status=connect(destSocket, (LPSOCKADDR) &destSockAddr,sizeof
        (destSockAddr));
        //为什么到这里status == SOCKET_ERROR

解决方案 »

  1.   

    DEST_IP_ADDR 是不是设置你想连接的服务器IP地址啊?
      

  2.   

    用GetLastError看看返回码,参照一下MSDN,就能知道原因了
      

  3.   

    LPSOCKADDR ===>>>SOCKADDR*试试
      

  4.   

    status=WSAStartup(MAKEWORD(1, 1), &Data);memset(&destSockAddr, 0, sizeof(destSockAddr));
    destSockAddr.sin_port=htons(PORT);
    destSockAddr.sin_family=AF_INET;
    destSockAddr.sin_addr.S_un.S_addr = inet_addr(DEST_IP_ADDR);destSocket=socket(AF_INET, SOCK_STREAM, 0);status=connect(destSocket, (LPSOCKADDR)&destSockAddr,sizeof(destSockAddr));
      

  5.   

    status=connect(destSocket, (LPSOCKADDR)&destSockAddr,sizeof(destSockAddr));
    还是不行啊,返回status == SOCKET_ERROR
      

  6.   

    初始化好像没有问题呀
    是不是:
    1、IP不是服务器端的IP(#define DEST_IP_ADDR "192.168.2.18"//运行程序的本机IP地址)
    2、服务器和客户端的端口不对
    3、看看destSocket=socket(AF_INET, SOCK_STREAM, 0);这句后destSocket的值是否为有效的socket值
      

  7.   

    IP是服务器端的IP,才能连接上;
    服务器和客户端的端口要对应;