모듈 소켓에 익숙하지 않아 구현 방법을 배우고 있습니다. 현재이 기본 서버를 작성했습니다.파이썬 소켓 서버 또는 스레드 소켓
import socket
s = socket.socket()
host = "Some IP"
port = 12345
s.bind((host, port))
print "Setting up server on", host + ":" + str(port)
s.listen(5)
while True:
c, addr = s.accept()
print 'Got connection from', addr
c.send('Thank you for connecting.')
print c.recv(1024)
c.close()
그러나이 서버는 한 번에 하나의 클라이언트 만 처리 할 수 있습니다. 추가 교육을 위해 한 번에 여러 클라이언트를 처리하려고합니다. 그래서 연구를하고 도서관 SocketServer
을 발견했습니다. 정규 소켓 모듈을 스레딩하는 방법에 대해서도 들었습니다. 그래서 모든 새로운 연결은 새로운 스레드를 만듭니다. 찾은 정보가 충분하지 않았습니다. 내가 찾은이 두 가지 방법의 차이점을 이해하도록 도와주십시오.
미리 감사드립니다.
[zeromq] (http://zeromq.org/)을 보았습니까? 소켓 조작/서버 작성에 매우 유용한 계층을 추가합니다. 파이썬 바인딩은 [pyzmq] (https://github.com/zeromq/pyzmq) (pip 설치 pyzmq)를 통해 사용할 수 있습니다. 또한 빠르게 타오른다. –
고맙습니다. 지금은 배우고 있기 때문에 표준 모듈을 사용하는 것을 선호합니다. –