1
執行兩個無限循環。 1 while多線程服務器循環和其他GUI無限循環。一起執行兩個無限循環。 1 while用於多線程服務器的循環和其他用於GUI的無限循環
GuI窗口未顯示。
我試圖同時執行服務器和GUI,現在GUI窗口未打開。
以下是代碼。
import socket
import sys
from thread import *
from Tkinter import *
import tkMessageBox
blue ="#000fff000"
root = Tk()
frame = Frame(root)
frame.pack()
root.geometry("500x500")
e=NONE
frame=Frame(root)
frame.pack()
text_area = Text(frame)
text_area.pack(side=BOTTOM)
B1 = Button(root, text = "CLOSE", command = sys.exit)
B1.pack(side =TOP)
print "Hello"
try:
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
except socket.error,msg:
print "Socket Creation Error"
sys.exit();
print 'Socket Created'
host = ''
port = 9008
try:
s.bind((host, port))
except socket.error,msg:
print "Bind Failed";
text_area.insert(END,"Bind failed")
sys.exit()
text_area.insert(END,"Socket bind complete")
s.listen(10)
text_area.insert(END,"Socket now listening")
a = []
def clientthread(conn):
global text_area
i=1024
while True:
data = conn.recv(1024)
text_area.insert(END,"\n")
text_area.insert(END,data)
i=i+1
text_area.insert(END,"\n")
reply = "Reply"+str(i)
text_area.insert(END,reply)
conn.send(reply)
print "hello"
print "bye"
while True:
conn, addr = s.accept()
start_new_thread(clientthread,(conn,))
conn.close()
s.close()
我們將如何開始新的線程服務器套接字的主循環? – Botnet
就像你爲'clientthread'所做的那樣:將主服務器循環移到一個函數中,並使用'start_new_thread()'在一個線程中調用它。 –
先生,我們正試圖啓動另一個線程,但無法 您能否請詳細解釋一下我們該怎麼做 – Botnet