Socket连接失败

wzp646011267 2013-12-26 03:19:40
我的一个程序用到了Socket,但有时候运行一段时间之后出现 Socket连接失败,这个时候重启下机器又正常了,再运行一段时间又出现问题,这是什么原因?

  Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPAddress ipaddress = IPAddress.Parse(IPAddr);
IPEndPoint ipendpoint = new IPEndPoint(ipaddress, 9000);

client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, TimeOutTime);
client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout,TimeOutTime);
client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.DontLinger, 0);

try
{
client.Connect(ipendpoint);//这里出错
}
catch (Exception ex)
{
}
...全文
140 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzp646011267 2013-12-26
  • 打赏
  • 举报
回复
[quote=引用 4 楼 feiyun0112 的回复:] 是不是开太多连接没关闭? *****************************************************************************
     try
                {
                    //todo:处理回执事件
                }
                finally
                {
                    try
                    {
                        client.Close();                       
                    }
                    catch (Exception /*ex*/)
                    {
                        if (OnMessageEvent != null)
                            OnMessageEvent(this, "结束Socket连接失败 ");
                    }
                }
我有关闭的,不知是否是只做了Close 引起的?
feiyun0112 2013-12-26
  • 打赏
  • 举报
回复
是不是开太多连接没关闭?

*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
zhujiazhi 2013-12-26
  • 打赏
  • 举报
回复
如果是多次连接的话,把不用的断开的 client.Disconnect(true); client.Close(); client.Dispose();
wzp646011267 2013-12-26
  • 打赏
  • 举报
回复
引用 1 楼 xiaozhu39505 的回复:
不重启机器,重启程序后正常吗?
重启程序没用,再起来还是连接失败
飞小猪 2013-12-26
  • 打赏
  • 举报
回复
不重启机器,重启程序后正常吗?

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧