0
我有一個python程序,我使用服務器套接字發送數據。有一個類有一些Threading
方法。每種方法都會檢查一個隊列,如果隊列不是空的,它會通過服務器套接字發送數據。隊列正在填充客戶端發送到服務器的內容(服務器正在監聽輸入請求)。發送與方法調用來完成:通過python中的單個套接字多次發送數據
def send(self, data):
self.sqn += 1
try:
self.clisock.send(data)
except Exception, e:
print 'Send packet failed with error: ' + e.message
程序啓動時,發送速率大約是500,但經過一段時間它會立即下降到30與此異常:
Send packet failed with error: <class 'socket.error'>>>[Errno 32] Broken pipe
我不知道導致費率增加的原因!任何想法?
您可以嘗試捕獲此異常並相應地關閉套接字,這可能會增加發送速率。 –