2016-12-20 68 views
1

我有一个连接的插座。当我使用:如何打印连接套接字的本地和远程地址和端口?

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属性?

+0

[socket.getsockname()](https://docs.python.org/3/library/socket.html#socket.socket.getsockname )和[socket.getpeername()](https://docs.python.org/3/library/socket.html#socket.socket.getpeername) – Natecat

+0

为了完整:你可以用'dir'看到的所有属性给定的对象。因此,与'打印(DIR(mySocket))'你会看到,有没有'laddr'或'raddr'属性,但有一个'getpeername'和'getsockname'。 – gurka

+0

谢谢。那么,如果不属性,什么是laddr和raddr? – 1qazxsw2

回答

0

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

相关问题