socket异常断开处理问题

caoqijun 2007-03-07 12:48:44
如何在线程中判断socket是否处于连接中
private void Socket_Listen()
{
IPAddress ServerIp = IPAddress.Parse(Functions.RegeditFunc.IpAddress);
IPEndPoint IEP = new IPEndPoint(ServerIp, Functions.RegeditFunc.DLPort);
Socket Socket_L = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
Socket_L.Bind(IEP);
Socket_L.Listen(0);
while (true)
{
newSocket = Socket_L.Accept();
Thread_Recv = new Thread(new ThreadStart(Socket_Recv));
Thread_Recv.Start();
}
}

private void Socket_Recv()
{
Socket_R = newSocket;
while (true)
{
if (Socket_R.Available != 0)
{
RecvByte = new byte[Socket_R.Available];
Socket_R.Receive(RecvByte);
Thread_Data = new Thread(new ThreadStart(Data_Process));
Thread_Data.Start();
}
}
}
现在socket意外断开后Socket_Recv一直挂,没有释放掉。在Socket_Recv线程中改如何判断socket是否连接着。
...全文
368 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
intersun 2007-03-12
  • 打赏
  • 举报
回复
Socket对象的Connected属性。
caoqijun 2007-03-12
  • 打赏
  • 举报
回复
已经解决
ylqmf 2007-03-09
  • 打赏
  • 举报
回复
up

110,567

社区成员

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

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

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