计算机通过网络与一个网络设备(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.如果中途连接断开,如何才能获悉连接中断呢?
或者高手们给个例子