TCP通信问题

smaworm 2010-10-13 05:46:08
计算机通过网络与一个网络设备(TCP/IP端口的门禁主板)相连,
主板IP:192.168.0.97 计算机IP:192.168.1.121
门禁主板每隔5秒会自动发送一段数据,计算机需要接收这段数据。
我是这么连接的
private IPAddress HostIP = IPAddress.Parse("192.168.0.97");
private IPEndPoint ChatSever;
private Socket ChatSocket;
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 IPAddress HostIP = IPAddress.Parse("192.168.0.97");
private IPEndPoint ChatSever;
private Socket ChatSocket;
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 (flag)
{
byte[] ReceiveByte = new byte[64];
ChatSocket.Receive(ReceiveByte, ReceiveByte.Length, 0);
}
}

问题:1.如果连接不上主板 ChatSocket.Connect(ChatSever); 反应时间很长才能被捕获
2.如果中途连接断开,如何才能获悉连接中断呢?

或者高手们给个例子
...全文
81 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
puwudaxian 2010-10-15
  • 打赏
  • 举报
回复
ChatSocket.Receive(ReceiveByte, ReceiveByte.Length, 0);
这句加个异常处理如果断开服务器接受的字节为0
vpoint2009 2010-10-13
  • 打赏
  • 举报
回复
1,同问,明明是TCP为什么感觉一点都不可靠呢???
2,监听是while(true)的,断开自然会被第一时间发现,至少我写这方面应用的时候是这样的。
无常名 2010-10-13
  • 打赏
  • 举报
回复
中途连接中断应该有异常吧?

110,546

社区成员

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

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

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