试图创建我的第一个客户机 - 服务器应用程序时遇到了错误... 此代码与文档中的完全相同,但我遇到了问题。Windows 7上的套接字无法连接
服务器:
import socket
HOST = 'localhost'
PORT = 9090
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
while True:
data = conn.recv(1024)
if not data: break
print data
conn.close()
客户:
import socket
HOST = 'localhost'
PORT = 9090
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.sendall('Hello, world')
s.close()
执行后,我看不出在服务器部分的消息print Connected by, addr
和print data
。我使用Windows 7,Comodo防火墙(我试图关闭防火墙,但它没有解决问题),Avast Antivirus,Python 2.7。
非常有趣的是,所有的工作正常,并在一瞬间不起作用。
此外,我的服务器应用程序只是冻结,直到客户端连接到服务器。它可以解决只是使用线程?
对不起,我的英文不好。提前致谢。
嗨!很高兴您开始使用套接字工作!但是,如果您对套接字和线程不太熟悉,那么对您的代码进行评论就太多了。我可以建议你看看:twisted http://twistedmatrix.com/trac/。一个事件驱动的框架,它会为你打扰线程!它非常易于使用! – enpenax
wimps框架=)其实,套接字看起来不太复杂 – progerz