TCP通信问题

smaworm 2010-10-14 02:42:20
计算机连接外部网络设备

private IPAddress HostIP = IPAddress.Parse("192.168.0.97");
private IPEndPoint ChatSever;
private Socket ChatSocket;
HostIP = IPAddress.Parse("192.168.0.97");
ChatSever = new IPEndPoint(HostIP, Int32.Parse("8000"));
ChatSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
ChatSocket.Connect(ChatSever);
Thread thread = new Thread(new ThreadStart(ChatProcess));
thread.Start();
private void ChatProcess()
{
while (ChatSocket.Connected)
{
try
{
byte[] ReceiveByte = new byte[64];
ChatSocket.Receive(ReceiveByte, ReceiveByte.Length, 0);
}
catch (Exception ex)
{
}
}
}

现在有个疑问,假如开始运行时 网络正常 开启了一个线程对网络进行数据接收,
如果运行一段时间,网络断开了,软件如何尽快的知道并再次进行连接呢?
求高手,求简单代码。
...全文
72 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjl49 2010-10-14
  • 打赏
  • 举报
回复
[Quote=引用楼主 smaworm 的回复:]
计算机连接外部网络设备

C# code

private IPAddress HostIP = IPAddress.Parse("192.168.0.97");
private IPEndPoint ChatSever;
private Socket ChatSocket;
HostIP = IPAddress.Parse("192.168.0.97");
ChatSever =……
[/Quote]

如果你是server那么就要求对方有重连机制,否则你没办法的。
编程爱好者L 2010-10-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 smaworm 的回复:]
看过你帖子了 不过没有
[/Quote]
我刚刚结贴了,你再去看看,有哪些代码应该够了..
yangyangart 2010-10-14
  • 打赏
  • 举报
回复
在Try catch语句中进行捕获,因为一旦链接中断,会在catch语句中得到错误信息,你然后再重新链接服务器就可以了
smaworm 2010-10-14
  • 打赏
  • 举报
回复
看过你帖子了 不过没有

110,535

社区成员

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

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

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