我正在處理將文件發送到其他設備的示例應用程序。我的窗口上有兩個按鈕,一個是發送,另一個是停止文件傳輸。發送;將文件發送到目的地並停止:停止發送過程。Tcp Socket + send()錯誤#10054
當我將多個文件發送到目的地時,所有文件都能正確地到達目的地。但是,如果我點擊發送並重復停止3到4次(即最初我點擊發送,然後突然沒有時間,我點擊停止,我會繼續這個過程3至4次)。 然後,如果我嘗試發送多個文件,那麼它將發送第一個文件,當它發送2文件時,我在函數Send()中收到錯誤#10054。
我使用非阻塞套接字通過: u_long i = 1; ioctlsocket(sockt,FIONBIO,& i);
在destructer我正在關閉scoket。
請幫他解決這個問題。
10054 =連接重置由同級。意思是對方已關閉連接 – 2009-12-28 10:53:24
有什麼辦法可以避免這種情況發生?只有當我嘗試發送和重複停止3到4次時纔會發生這種情況。 – 2009-12-28 11:12:16
如果您可以發佈您的代碼或可以提供一些信息,會更好。你是否爲每個文件傳輸創建新的連接?另外,服務器呢?這是標準的還是由你寫的? – Jay 2010-01-30 17:04:34