我有這個客戶端Python程序,發送到Java服務器程序。 我的客戶在加入while循環之前工作正常。我需要添加一個while循環來繼續發送用戶輸入;現在,除非我殺死程序(Python客戶端),否則文本不會出現在另一端,那麼我在Python中輸入的所有文本都會出現在另一端,但只能在殺死程序後纔會出現!這是什麼原因?爲什麼要添加一個while循環導致意外的行爲?
import socket
HOST = "192.168.0.76"
PORT = 8080
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((HOST, PORT))
while (True):
sock.sendall(raw_input(""))
您可能需要一個新線程才能發送消息。發生的事情是,您的程序在獲得發送任何內容之前重複循環來阻止所有消息。 –
我想到了這一點,並且我添加了2秒的時間睡眠......沒有工作 – aero
這是因爲這隻會暫停您所在的單個線程。 –