2013-10-22 64 views
1
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
host = socket.gethostname() # Get local machine name 
port = 12345   # Reserve a port for your service. 
s.bind((host, port))  # Bind to the port 
s.listen(5)     # Now wait for client connection. 
print "entered loop" 
c, addr = s.accept()  # Establish connection with client. 

我正在使用这段代码来简单地创建一个套接字并接受来自Android的连接。够简单。
但由于过去几个小时(没有更改代码),python由于某种原因无法创建套接字。我没有得到任何错误,但它永远停留在s.accept()线上。突然无法创建套接字

我尝试使用Fing,我的Android上的网络诊断应用程序查看打开的端口,实际上,Python无法创建/打开套接字。之前,只要我运行代码并在Fing上重新扫描,我就能够看到端口打开并在其上测试TCP连接。

有时,随机在两者之间,它可以工作一次或两次。

可能会出现什么问题?我试图改变端口。我不知道要调试什么,因为没有任何错误!

回答

0

同样的错误发生在我身上。这是因为没有关闭Socket。尝试关闭套接字。 否则,只要你运行,它就会工作一次,然后就会开始引发问题。