我创建的python服务器有问题。它在我的家用机上运行,但当我试图在另一台机器上运行时,它就不工作了。使用pyinstaller编译时,窗口立即关闭,当作为原始python文件运行时(python 2.7.10安装在我的主计算机上,也安装在它不工作的机器上)它会抛出错误:
Traceback (most recent call last):
File "fileModifyServer.py", line 136, in <module>
startServer()
File "fileModifyServer.py", line 11, in startServer
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
File "N:\Python27\lib\socket.py", line 191, in __init__
_sock = _realsocket(family, type, proto)
socket.error: [Errno 10022] An invalid argument was supplied
它引用的代码如下:
^{pr2}$
你的回溯很奇怪。它指示在尝试实例化套接字时的一行,这表示python安装或网络堆栈有问题。它还指示错误发生在第11行,但在您的代码中,有问题的行出现在第6行。我不知道这是怎么发生的,但我知道如果你在程序运行时编辑文件,然后程序崩溃,就会发生这种情况。回溯只是从引起错误的相关文件中打印出行号,而文件源似乎直到错误发生才被读取;因此,回溯将反映修改后的文件中的行,这不是编译程序时出现的行,因此也不是实际导致的行问题。在
不看回溯,我确实看到你的代码有错误。您试图将服务器绑定到无效接口。返回的主机名套接字.gethostname不是接口。From the documentation:
它将返回本地ip地址的字符串表示形式。不幸的是,这仍然会抛出一个错误,因为它不是一个可以绑定到的接口。在
您可以绑定到的一些接口包括“0.0.0.0”(表示所有可用接口)和“localhost”(仅表示“本地”连接),因此不允许外部网络通信。在
相关问题 更多 >
编程相关推荐