我正在寫一個自定義的TCP服務器和客戶端,並做了大量的請求(準確的60,000)我開始得到這個10048的套接字錯誤,其中should mean「該地址已被使用。」客戶端上的套接字錯誤10048?可能的原因?
錯誤不斷髮生,除非我暫停過程像2或3分鐘,然後重新開始,然後在重新啓動它後不久就會出現相同的錯誤。如果我暫停客戶端進程並重新啓動服務器進程,我仍然會在客戶端上看到相同的錯誤。所以這是一個完整的客戶端問題。
雖然這並沒有任何意義,但這種錯誤通常只發生在綁定時,並且此錯誤發生在客戶端而不是服務器上。可能的原因是什麼?
我初始化的小摘錄:
TcpClient client = new TcpClient();
client.Connect("XXXXX -- some ip", 25000);
client.NoDelay = true;
NetworkStream clientStream = client.GetStream();
而且,一切似乎是工作的罰款(包括它發送來回時間量),這完美的作品使用127.0.0.1
時,但是當把它放在另一臺LAN計算機上,我開始得到10048錯誤。
初始化它有什麼問題嗎?還有什麼可能導致客戶端的這個錯誤?
我接着說:client.LingerState =新LingerOption(假,0);'和用netstat,你的權利,我有TIME_WAIT連接的廢話負荷 – Earlz 2010-03-29 20:46:27
我的意思是,在添加'LingerState'後,我仍然有很多TIME_WAIT位 – Earlz 2010-03-29 20:48:12
ReuseAddr也沒有幫助。 – Earlz 2010-03-29 21:37:27