问题描述:
*****************************************【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
反思:
感觉很久以前遇到过这类的问题,却花了一两个小时才考虑到这点,不用成为自己讨厌的人,光长肉不长脑子