繁体   English   中英

Python Sockets - 将套接字绑定到 IP 后如何获取该套接字的 IP 地址

[英]Python Sockets - how can I get the IP Address of a Socket after I bind it to an IP

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

我将如何继续这件事?

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

data, address = sock.recvfrom(4)

尝试使用socket.getpeername()

简单的方法就像

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM