编写使用Twisted Words的Jabber客户端.我想知道远程对等体的IP地址和主机名.xmlstream.transport.getPeer().host返回主机名,而它应该返回IP地址(xmlstream是一个实例twisted.words.protocols.jabber.xmlstream.XmlStream).
更新:是的,我的Twisted已经过时,来自Ubuntu Hardy包:
$ python -c "import twisted; print twisted.__version__"
2.5.0
Run Code Online (Sandbox Code Playgroud)
你已经遇到了3年前修复的错误,在Twisted 8.2.0中.您应该升级到更新版本的Twisted.(我建议最近宣布Twisted 11.0的预发布 ;现在是测试的好时机!)如果你在更新版本的Twisted中发现了这个bug,你应该重新打开那个bug,并解释如何重现它!
如果你需要支持你正在使用的任何旧版本的Twisted,而不是socket你ITransport实现的意外暴露的实现细节,你应该使用getHandle,这至少是记录的公共方式来实现这种依赖于实现的东西,像这样:
self.xmlstream.transport.getHandle().getpeername()
Run Code Online (Sandbox Code Playgroud)
请注意,这不适用于某些电抗器,尤其是IOCP电抗器,它使用BSD插座以外的其他电路进行网络通信.
(让 - 保罗在评论中已经注意到了大部分内容,但我认为这应该作为答案出现.)
| 归档时间: |
|
| 查看次数: |
2653 次 |
| 最近记录: |