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();
- 내가 스레드
- 을 종료하는 방법을 모른다, 디스플레이 루프는 끊기를 가지고