2路通信我想在Python双向通信:插座:在Python
我想绑定一个套接字,其中一个客户端可以连接到,然后服务器和客户端可以通过“聊天”海誓山盟。
我已经有基本的听众:
import socket
HOST='' #localhost
PORT=50008
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) #create an INET, STREAMing socket
s.bind((HOST,PORT)) #bind to that port
s.listen(1) #listen for user input and accept 1 connection at a time.
conn, addr = s.accept()
print "The connection has been set up"
bool=1
while bool==1:
data=conn.recv(1024)
print data
if "#!END!#" in data:
print "closing the connection"
s.close()
bool=0
我想现在要做的是实现东西,所以这个脚本也接受用户输入并回车键被击中后,发回给客户端。
但我不明白我该如何做到这一点?因为如果我会做这样的:
while bool==1:
data=conn.recv(1024)
print data
u_input = raw_input("input now")
if u_input != "":
conn.send(u_input)
u_input= ""
问题是,它可能挂在用户输入提示,所以它不会让我的客户端发送的数据。
我该如何解决这个问题?
我想把它保存在一个窗口中,这可以用线程解决吗?
(我从来没有用过的python线程)
(没有解决您的PROB LEM)'bool'是一种内置类型,您可以覆盖它,因此您可能想要使用不同的变量名称。一个更好的解决方案可能是'while True'与'break'结合。 –
你想发送每一个字符吗?还是全文? –
@ wal-o-mat全文 –