2009-05-31 72 views
1

请原谅我的无知,因为我仍然是编码方面的初学者。py2exe - 当连接到套接字时生成的可执行文件会冻结

我想转换一个python脚本,我使用py2exe写入Windows可执行程序。不过,尽管我能够成功转换脚本,但可执行文件似乎并不完整。

许多调试后,我已经分离的原因,下面的代码似乎是

host = str(raw_input('Enter Host IP Address: ')) 
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
client_socket.connect((host, 5000)) 

当脚本是从Pydev的本身执行和脚本能够运行而不会不会发生此问题的问题问题。当试图连接到另一台主机时,只有控制台应用程序的Windows可执行文件挂起

这是一个已知问题还是我做错了什么?任何帮助深表感谢。

+0

也许试图捕捉抛出的异常?也可能检查超时值是什么? – 2009-05-31 11:14:46

+0

我知道我也许有点关闭,当我在vb.net写一个类似的程序时,我必须使用后台线程时ping /连接到其他机器,因为套接字连接命令可以阻止主程序线程,也许我是基地 – Jim 2009-05-31 11:32:01

回答

1

你能输入IP地址吗?阅读that thread似乎py2exe需要一个特殊的windows参数来启动一个控制台。否则,raw_input会尝试从标准输入读取,并挂起/崩溃,因为它找不到任何东西。

鉴于线程的年龄,我检查了py2exe doc:您可能想尝试将脚本放在控制台的属性中。

我真的认为这个行为与raw_input有关,而且它是而不是引起的套接字操作。