2017-11-28 9 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の上で閉じられた問題を発見し、それを切断するまで、それは最初のクライアントで立ち往生しています。 2つの別々のクライアントから接続しようとすると、フォークまたはスレッドサーバ、または非同期アーキテクチャが必要になります(各クライアントは、他のクライアントと他のタスクの処理の間にサービスをループするコールバックを取得します)。 – tripleee

+0

@treepleeeサーバーをマルチスレッド化すると、このエラーは表示されなくなります。 – ratebaltal

+0

これが問題だと確信できたら、これを実際の回答として掲示しておきます。間違っている可能性のあるものがたくさんありますが、これは有用な推測だと思いました。 – tripleee

答えて

0

ですが、私はあなたのサーバがシングルスレッドであるsolution

関連する問題