我在聊天服务器上工作,其中1个线程用于发送消息,1个线程用于显示。 目前我被卡住了。一切正常,除了显示线程正在等待显示命令。 例如,我键入“发送OtherUser hihi”,然后按Enter。 OtherUser控制台不显示任何内容。 但是,如果OtherUser键入某些内容并按Enter键,则会显示该消息。
反正有解决此问题的方法吗?谢谢。
如果我的问题不清楚,请您发表评论,以便我重新表述。谢谢。
我的代码
class ServerThread(Thread):
def __init__(self,socket):
Thread.__init__(self)
self.socket = socket
print ("New thread started for write")
def run(self):
while True:
try:
command = input("Enter command: ")
self.socket.send(bytes(str(command), "utf8"))
#chat=self.socket.recv(BUFFER_SIZE).decode("utf8")
#print(chat)
except OSError:
continue
class ServerThreadread(Thread):
def __init__(self,socket):
Thread.__init__(self)
self.socket = socket
print("New thread started for chat display")
def run(self):
s2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s2.connect((TCP_IP, TCP_PORT2))
s2.setblocking(0)
while True:
try:
chat=s2.recv(BUFFER_SIZE).decode("utf8")
print(chat)
#time.sleep(5)
except OSError:
continue