如题?

解决方案 »

  1.   

    TCP/IP通讯中,client往server端发数据,server端如何得到client的IP地址?
      

  2.   

    accept的时候可以返回因为数据包中包含客户端的ip
      

  3.   

    TCP如楼上所说,UDP的在recvfrom时就可以直接返回了。
      

  4.   

    对于TCP:
    sockaddr_in addr;
    char buf[1024];
    ::accept(s,(sockaddr*)&addr,&sizeof(addr);
    CString strIP;
    strIP=inet_ntoa(addr.sin_addr);
    对于UDP;
    ::recvfrom(s,buf,sizeof(buf),0,(sockaddr*)&addr,&sizeof(addr));
    strIP=inet_ntoa(addr,sin_addr);
      

  5.   

    通过getpeername()或建立连接(TCP),实现传送(UDP)中的sockaddr_in结构,都可以获得对方的IP,端口等信息