Socket程序中的Error#10054错误
近期使用winSock做的一個網(wǎng)絡(luò)項目中,使用TCP+Socket連接編寫的一個多線程的網(wǎng)絡(luò)程序,功能是client負責(zé)不斷地向server端發(fā)送數(shù)據(jù),服務(wù)端負責(zé)接收數(shù)據(jù)。client是一個DLL,服務(wù)端程序是一個隨機啟動的NT Service服務(wù)程序。
程序在夜間無人操作的執(zhí)行過程中,client常常不定時地出現(xiàn)錯誤號為:10054的錯誤,而server端并沒有對應(yīng)的提示。執(zhí)行環(huán)境是win2000+sp4,這個問題出現(xiàn)得比較莫名其妙。
查了MSDN上的10054錯誤號說明:WSAECONNRESET???? (10054) ?
? ?
? Connection ? reset ? by ? peer. ? ?
? ?
? A ? existing ? connection ? was ? forcibly ? closed ? by ? the ? remote ? host. ? This ? normally ? results ? if ? the ? peer ? application ? on ? the ? remote ? host ? is ? suddenly ? stopped, ? the ? host ? is ? rebooted, ? or ? the ? remote ? host ? used ? a ? "hard ? close" ? (see ? setsockopt ? for ? more ? information ? on ? the ? SO_LINGER ? option ? on ? the ? remote ? socket.)
?也就是說,一個連接被對方重設(shè)。一個建立的連接被遠程主機強行關(guān)閉,若遠程主機上的進程異常終止執(zhí)行(因為內(nèi)存沖突或硬件故障),或者針對套接字執(zhí)行了一次強行關(guān)閉,便會產(chǎn)生10054錯誤。針對強行關(guān)閉的情況,可用SO_LINGER套接字選項和setsockopt來配置一個套接字。
轉(zhuǎn)載于:https://www.cnblogs.com/mengfanrong/p/3752556.html
總結(jié)
以上是生活随笔為你收集整理的Socket程序中的Error#10054错误的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 51. 顺时针打印矩阵[print ma
- 下一篇: 网络拥塞控制