2010-08-30 96 views
1

我遇到了一個問題,其中一個套接字似乎正在自行關閉。沒有關閉被調用,本地端可以關閉套接字嗎?

這裏是(編輯)的網絡診斷跟蹤:

Exiting Socket#62696216::BeginSend() 
Exiting Socket#62696216::EndSend() 
Socket#62696216::BeginSend() 
Exception in the Socket#62696216::BeginSend - An established connection was aborted by the software in your host machine 

請注意,有一個成功的發送,然後有一個錯誤。錯誤表示套接字在本地關閉(即在主機上),但Close沒有被調用。這是一個間歇性的錯誤,它只發生在一千次以上。

插座是如何閉合的?

我覺得必須有一個非常簡單的答案,但它幾個小時就沒有了。任何幫助將非常感激。

謝謝

+0

可以EndSend關閉套接字?您的客戶端應用程序是否嘗試重新使用已關閉的套接字連接? – 2010-08-30 01:36:18

回答

0

可以是數字的東西.. -timeout - 值插座在主機上開啓超出限制 -bug在你的代碼

在沒有看到代碼或知道環境將難以確定。

0

這就是內核模式防病毒選擇阻止傳輸時的樣子。

0

這通常意味着兩件事之一。要麼你有一個防火牆或防病毒軟件,認爲你的程序是惡意的,或者(更有可能的話,如果它只發生一次)之前的一個發送超時,並使系統關閉套接字。據我所知,EndSend返回而沒有發出錯誤信號的事實並不意味着數據已經實際傳送到目標服務器。