从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()
我将如何继续这个?
答案 0 :(得分:0)
尝试使用socket.getpeername()
。
答案 1 :(得分:0)
您可以尝试使用recvfrom此方法返回数据和发件人的地址
data, address = sock.recvfrom(4)
答案 2 :(得分:0)
简单的方法就像
data, (ip, port) = sock.recvfrom(4096)
print (ip)