俄罗斯贵宾会 > 操作系统 > 客户端如何检测到并重连俄罗斯贵宾会
客户端如何检测到并重连俄罗斯贵宾会

俄罗斯贵宾会 1

准备做一个串口转TCP的小工具,为了替代串口服务器在SerialPort.DataReceived事件里直接tcpClient.GetStream().Write。现在已经做到:如果server没有启动,客户端一直尝试连接服务器,直到连通。现在的问题是如果客户端已经和服务端正常连接,突然服务端关机、掉线,客户端却不知道,下边的代码,在服务端掉线后第一次,能正常执行,第二次才能抛异常,这样已经掉了一个包。

privatevoidSerialPort_DataReceived(objectsender,SerialDataReceivedEventArgse){varbuffer=newbyte[SerialPort.BytesToRead];SerialPort.Read(buffer,0,buffer.Length);DataReceived?.Invoke(this,newClientDataReceivedEventArgs(this,buffer));if(tcpClient.ConnectedNetworkStream!=null){NetworkStream.Write(buffer,0,buffer.Length);NetworkStream.Flush();}}

如何才能监听tcp客户端与服务端的连接的正确性。

上一篇:它已经被别的用户以独占方式打开 下一篇:没有了
返回列表