0

从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()

我将如何继续这件事?

4

3 回答 3

1

您可以尝试使用 recvfrom 此方法返回数据和发件人的地址

data, address = sock.recvfrom(4)
于 2019-03-25T03:05:55.103 回答
0

尝试使用socket.getpeername().

于 2016-08-20T23:10:56.027 回答
0

简单的方法就像

data, (ip, port) = sock.recvfrom(4096)
print (ip)
于 2021-04-28T13:14:52.343 回答