【发布时间】:2009-05-31 11:08:16
【问题描述】:
请原谅我的无知,因为我仍然是编码的初学者。
我正在尝试使用 py2exe 将我编写的 python 脚本转换为 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 可执行文件在尝试连接到另一台主机时只是挂起。
这是一个已知问题还是我做错了什么?非常感谢任何帮助。
【问题讨论】:
-
也许尝试捕获任何抛出的异常?也可以检查一下超时值是多少?
-
我知道当我在 vb.net 中编写一个类似的程序时我可能有点偏离我在 ping/连接到其他机器时必须使用后台线程,因为套接字连接命令会阻塞主程序线程,也许我离基地很远
-
@Brian R. Bondy - 没有抛出异常。该程序应该连接到本地服务器,我没有设置超时值。
-
@Jim - 我确实有线程处理接收和发送数据到主机;但是,Windows 可执行文件只是在线程启动之前挂起。
-
不,吉姆,你是对的。连接被阻塞。