如何通过一个绑定的服务器socket对象,返回远程ip,port?

解决方案 »

  1.   

    int getpeername(
      SOCKET s,                    
      struct sockaddr FAR *name,  
      int FAR *namelen            
    );
      

  2.   

    int getsockname(
      SOCKET s,                    
      struct sockaddr FAR *name,  
      int FAR *namelen            
    );
    跟楼上的有什么区别?
      

  3.   

    getpeername:远端的
    getsockname:本地的
      

  4.   

    sockaddr_in client;
    int clientLen = sizeof(client);
    memset(&client, 0, clientLen);getpeername(socket, (sockaddr*)(&client),&clientLen);cout<<"IP:"<<inet_ntoa(client.sin_addr)<<endl;
    cout<<"Port:"<<ntohs(client.sin_port)<<endl;