临风听雪 发表于 2013-05-31 09:49

python/wxpython 无法关闭套接字问题。

用wxpython做工具,在wx.Frame的__init__里面创建了一个TCP套接字并绑定了端口,通过按钮进行listen监听,然后创建一个线程,在线程中accept,通过另一个按钮退出线程并关闭套接字。。

大概流程如上,我现在退出线程时已经跳出run里面的while循环,也调用了socket.close() 没有报错,但再次绑定时提示端口已经被占用,通过netstat查看发现在线程退出,套接字调用close后,实际上套接字并没有被关闭,依旧处于监听状态,而且一直不退出。
如果把socket的创建和绑定放在wx.Frame的__init__外面 则退出线程关闭套接字都正常,现在怀疑是__init__里面是不是会有和fork一样的功能,之前一直觉得__init__里面就单纯是初始化的。。

用的是python2.5 wxpython 和BOA做的界面,困扰一天了pdb没任何头绪
谢谢。

阳络 发表于 2014-06-05 22:31

楼主问题解决了吗??遇到跟你一样一样的问题。。。。不知道怎么办。。。。求楼主帮助

timespace 发表于 2014-06-06 10:39

wxpython文档是否提到__init__有什么特殊逻辑?描述太抽象,如果有demo说明问题更好。
页: [1]
查看完整版本: python/wxpython 无法关闭套接字问题。