如何打印连接的套接字的本地和远程地址及端口?

2024-09-27 07:31:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个连接的插座。当我使用:

print (mySocket)

我明白了:

<socket.socket fd=376, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('192.168.31.244', 4160), raddr=('192.168.31.244', 7061)>

我还可以成功打印:

print (mySocket.family)
print (mySocket.proto)

但如果我想打印地址:

print(mySocket.laddr)

我得到和错误:

AttributeError: 'socket' object has no attribute 'laddr'

如何打印laddrraddr属性?


Tags: typesocketfamily插座protosockafinet
2条回答

对于laddr使用mySocket.getsockname(),对于raddr使用mySocket.getpeername()

尝试改用^{}^{}方法。如前所述in the Socket object docs只有familyprototype字段可用作属性。

>>> s.bind(('localhost',12345))
>>> s.getsockname()
('127.0.0.1', 12345)

相关问题 更多 >

    热门问题