問題描述:
*****************************************【8:28:19】*****************************************
【ErrorType】System.Net.Sockets.SocketException
【TargetSite】Void DoBind(System.Net.EndPoint, System.Net.SocketAddress)
【Message】在其上下文中,該請求的地址無效。
【Source】System
【StackTrace】 在 System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.Sockets.Socket.Bind(EndPoint localEP)
在 SocketLibrary.SocketListener..ctor(EndPoint endpoint, Int32 backlog) 位置 a
問題分析過程:
打印出來IP地址是對的,就是開機啟動服務的時候才會沒有效果,若是開機后再重新安裝window服務則是正常的,
就是說在服務啟動的時候系統還沒有為這個電腦分配好IP,這個IP是我指定的靜態IP
解決方法:
在程序啟動的地方添加一個延遲10秒鍾
//在這里休眠10秒后再啟動
#if !DEBUG
Thread.Sleep(10000);
#endif
反思:
感覺很久以前遇到過這類的問題,卻花了一兩個小時才考慮到這點,不用成為自己討厭的人,光長肉不長腦子