【发布时间】:2013-02-22 22:43:12
【问题描述】:
我在 Python 中找到了一个聊天应用程序的代码,但我找不到任何关于作者或网站上任何人的信息来帮助我。
这是整个代码的链接: http://files.myopera.com/manojsheokand666/blog/chat.py
我感觉缺少了一些东西。我需要这个,我想修改它并尝试学习更多东西
我做了一些阅读,这是我第三次编辑这篇文章.. 现在,我可以保持连接而不会出现任何错误,但是当我尝试发送(输入)某些东西时,它既不发送也不接收。但是,每当我尝试以另一个“人”的身份运行第二个应用程序时,我都会在第一个正在运行的应用程序上收到“人”已连接的消息,并且第一个应用程序会因以下错误而崩溃:
KeyError: ('127.0.0.1',62833) - 注意,端口总是不同的
虽然,第二个应用程序仍然存在,但如果我再次运行该应用程序,它不会收到任何内容或崩溃。
我做了什么:
host = gethostbyname(gethostname()) #this actually gets 192.168.0.101 (my local IP to the router)
s.setsockopt(SOL_IP,IP_ADD_MEMBERSHIP,\
inet_aton(addr)+inet_aton(host)) #i write 225.0.0.1 as 'addr'
还有其他方法可以让它工作吗?我可以使用 telnet 运行一个简单的服务器/聊天,但是这个 GUI(tkinter)认为这对我来说很复杂,我想了解它是如何工作的.. 谢谢!
【问题讨论】:
-
查看msdn.microsoft.com/en-gb/library/windows/desktop/… 并向下滚动到错误 10049。这应该可以解释错误
-
我明白了.. 但是如果我试图绑定到 0.0.0.0 是不是应该像那样工作?好像我在说它可以绑定到任何地方?
-
如果您包含更多代码,对人们回答会更有帮助。我看不出你的 sn-p 代码有什么问题。
-
代码没有问题,只是不是多播地址 - 请参阅答案。