2017-11-28 8 views
0

SCTP 연결을 사용하는 클라이언트의 요청을받는 작은 서버에이 코드가 있습니다.이 오류가 계속 발생합니다.SCTP 서버가 클라이언트와 연결할 때 비정상적인 동작을합니다.

BlockingIOError: [Errno 11] Resource temporarily unavailable 

Try-except를 사용하여 피할 수 있지만이 문제를 자세히 알고 싶습니다. 어떤 도움?

내 코드는 여기에 있습니다. 이것은 SCTP의 라이브러리를 통해 다시 가기 후에 서버

server = ('', 29168) 
sk = sctpsocket_tcp(socket.AF_INET) 
sk.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 
sk.bindx([server]) 
sk.listen(5) 
connection, addr = sk.accept() 
while c: 
     a,b,c,d = connection.sctp_recv(1024) 
     print(c) 
+0

와 Github에서에 폐쇄 문제를 발견, 그래서 연결이 끊어 때까지가 첫 번째 클라이언트와 붙어 . 두 개의 개별 클라이언트에서 연결을 시도하면 포크 또는 스레드 서버 또는 비동기 아키텍처가 필요합니다 (각 클라이언트는 다른 클라이언트와 다른 작업을 처리하는 사이에 서버가 서비스를 루프백하는 콜백을받습니다). – tripleee

+0

@ tripleee 서버를 멀티 스레드로 만들면 더 이상이 오류가 표시되지 않습니까? – ratebaltal

+0

이것이 문제라는 것이 확실하다면, 이것을 실제 답변으로 게시했을 것입니다. 잘못 될 수있는 많은 것들이 있지만 이것은 유용한 추측이라고 생각했습니다. – tripleee

답변