我写了一个服务器可是启动时候端口总是变 请问是怎么回事?我的端口绑定了  tcpaddr.sin_port = htonl(5150);

解决方案 »

  1.   

    源程序
    SOCKET s;
    struct sockaddr_in tcpaddr;
    struct sockaddr_in clientaddr;
    int port = 5150;
    int addrlen;
    s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
    tcpaddr.sin_family = AF_INET;
    tcpaddr.sin_port = htonl(port);
    tcpaddr.sin_addr.s_addr = htonl(INADDR_ANY);
    if(bind(s,(struct sockaddr FAR*)&tcpaddr,sizeof(tcpaddr))==SOCKET_ERROR)
    {
    printf("bind is wrong");
    return;
    }
    addrlen=sizeof(sockaddr_in);
    listen(s,5);
    但是我用客户端连接的时候,服务器的端口不是5150 每次服务器重启端口就变
      

  2.   

    tcpaddr.sin_port = htonl(port);
    ////////////////////////////////////tcpaddr.sin_port = htons(port);