我最近开始学习 Python,但遇到了一个问题。为什么当我执行 socket.accept() 时我的 while True 循环会停止我的代码会不断打印“嘿!!”:import sockethost = "0.0.0.0" #<- Not the real port and ip, I have working ones...port = 1234s = socket.socket()s.bind((host, port))s.listen(5)while True: print("HEY!!") ''' connection, adress = s.accept() print("Got connection from: '" + str(adress[0]) + ":" + str(adress[1]) + "'") '''我的代码只打印 'HEY!!' 一次:import sockethost = "0.0.0.0" #<- Not the real port and ip, I have working ones...port = 1234s = socket.socket()s.bind((host, port))s.listen(5)while True: print("HEY!!") connection, adress = s.accept() print("Got connection from: '" + str(adress[0]) + ":" + str(adress[1]) + "'")我该如何解决它不断打印“HEY!!”的问题 还要让插座工作?谢谢阅读!更新:它现在正在工作,我正在使用线程来实现它。你有同样的问题吗?-> 谷歌:“Multiple while true loops threading python”感谢所有帮助我的人!
1 回答
倚天杖
TA贡献1828条经验 获得超3个赞
为什么当我执行 socket.accept() 时我的 while True 循环会停止
accept
是一个阻塞操作。它一直等到客户端连接。它在客户端连接后继续并返回新客户端连接的套接字。
我的代码只打印 'HEY!!' 一次:
HEY!!
如果客户端连接到您的服务器,它将打印不止一次,因此阻塞accept
返回。
添加回答
举报
0/150
提交
取消