我有一個多線程的python程序,它會連續打開本地URL的連接(),我已經安裝了WAMP並具有sendMessages_mock.php文件在本地進行測試。有時,我得到「[Errno 10061]由於目標機器主動拒絕,所以無法連接」Python:無法建立連接,因爲目標機器主動拒絕它
每個線程都會調用此函數。每一秒鐘,就會有數百個線程調用這個函數。只爲少數線程調用獲取此異常。對此有何想法?
def sendMessage(body):
try:
request = Request(url="http://testing.com/sendMessages_mock.php", data=json.dumps(body))
request.add_header('Authorization', 'key=' + CONST.API_KEY)
request.add_header('Content-Type', 'application/json')
response = urlopen(request)
responseData = response.read().decode('utf-8')
except Exception as exceptionErr:
print("Oops! " + str(traceback.format_exc()))
服務器端監聽連接,但「listen」調用有backlog - 最大數量的尚未被接受的傳入連接請求。當請求隊列太大時,服務器TCP堆棧可能會開始拒絕連接。這可能是你所看到的。您可能可以將服務器配置爲更大的待辦事項,但也可以考慮這是正常的背壓,可以讓您的客戶冷靜一點。 – tdelaney