0
我實際上使用pyopengl程序充當套接字服務器。同時 服務器接收來自客戶端的命令並解釋這些命令並同時進行相應的繪圖。pyopengl顯示同時充當套接字服務器時被阻塞
如果主線程在執行套接字事件時被阻塞,我實際上啓動了一個線程來執行套接字服務器接受事件,並在顯示循環中調用updateserver套接字方法。
class SocketServer(Thread):
def __init__ (self):
Thread.__init__(self)
self.serversocket = socket(AF_INET, SOCK_STREAM);
self.serversocket.bind(("127.0.0.1", 7780));
self.status = -1;#not connected
self.clientsocket = None;
self.clientaddress = None;
self.clientbuffer = None;
self.serversocket.listen(5);
def run(self):
print 'thread running'
while(self.status == -1):
time.sleep(10);
(self.clientsocket, self.clientaddress) = self.serversocket.accept();
self.clientbuffer = self.clientsocket.makefile('r',0);
self.status = 0;
#Thread.kill();
#print 'SERVER LISTENNING FINISHED';
def getClientContent(self):
if (not self.clientbuffer): return "NONE CLIENT BUFFER";
return self.clientbuffer.readline();
ss = SocketServer();
def updateServerSocket():
global ss;
print ss.getClientContent();
- 我不知道如何來終止線程
- 一次寫在另一個Python文件中的客戶端開始推數據,顯示循環獲得掛斷,如果它死了