【问题标题】:Python Sockets - how can I get the IP Address of a Socket after I bind it to an IPPython Sockets - 绑定到 IP 后如何获取 Socket 的 IP 地址
【发布时间】:2016-08-20 22:54:07
【问题描述】:

从 python 库 'socket' 中是否有一个方法可以返回绑定到它的套接字的 IP?

假设一个套接字的声明和初始化如下:

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.connect(ip, port)

我想从套接字中找到接收到的数据报的 IP:

while True:
  for s in socks:
    recv = s.recv(1024)
    #get ip of s or socket
    #print received data from s.gethostname()

我将如何处理这件事?

【问题讨论】:

    标签: python python-sockets


    【解决方案1】:

    你可以试试recvfrom这个方法返回数据和发件人的地址

    data, address = sock.recvfrom(4)
    

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        简单的方法就像

        data, (ip, port) = sock.recvfrom(4096)
        print (ip)
        

        【讨论】:

          猜你喜欢
          • 2010-10-10
          • 1970-01-01
          • 2011-06-13
          • 1970-01-01
          • 2012-01-02
          • 2021-01-28
          • 2011-11-12
          • 2011-01-27
          • 2011-06-05
          相关资源
          最近更新 更多