如何在Python 2.7中获取用于建立套接字连接的端口?

时间:2016-01-02 18:09:36

标签: python-2.7 sockets

我正在制作一个IRC客户端脚本来学习一些关于Python的东西,这可能会在未来发展......所以我可以解决问题。但我希望在使用socket时获取socket.connect()连接使用的端口。

我问,因为我想用Auth RFC进行编译。 所以我希望能够发送,
MYPORT, SERVPORT : USERID : Windows : Username

是否有可能将套接字的端口用于外出连接?
所以像这样:

irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
irc.connect(('irc.rizon.net', 6667))
irc.send( str( irc.getsocketused() ) + ", 6667 : USERID : Windows : Username")

1 个答案:

答案 0 :(得分:2)

您可以在套接字上使用getsockname方法,例如IPv4;

>>> irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>>> irc.connect(('irc.rizon.net', 6667))

>>> addr,port = irc.getsockname()

>>> port
52675 (this will be your local port)