2016-12-20 70 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()

相關問題