Commit 64e1f900 张东亮

1

1 个父辈 35075b96
...@@ -254,22 +254,22 @@ namespace Agv ...@@ -254,22 +254,22 @@ namespace Agv
// 开始监听客户端连接请求,Accept方法会阻断当前的线程; // 开始监听客户端连接请求,Accept方法会阻断当前的线程;
Socket sokConnection = _server.Accept(); // 一旦监听到一个客户端的请求,就返回一个与该客户端通信的 套接字; Socket sokConnection = _server.Accept(); // 一旦监听到一个客户端的请求,就返回一个与该客户端通信的 套接字;
IPEndPoint endPoint = (IPEndPoint)sokConnection.RemoteEndPoint; IPEndPoint endPoint = (IPEndPoint)sokConnection.RemoteEndPoint;
string ip = endPoint.Address.ToString();
int port = endPoint.Port; int port = endPoint.Port;
string ip = $"{endPoint.Address.ToString()}:{port}";
Thread thr = new Thread(ListenNet); Thread thr = new Thread(ListenNet);
Client client = new Client(sokConnection, thr, ip, endPoint.ToString()); Client client = new Client(sokConnection, thr, ip, endPoint.ToString());
thr.IsBackground = true; thr.IsBackground = true;
if (dictClient.TryGetValue(ip, out Client client1)) //if (dictClient.TryGetValue(ip, out Client client1))
{ //{
log.info(string.Format($"{ip}重连 断开上一次连接:{client1.Endpoint}")); // log.info(string.Format($"{ip}重连 断开上一次连接:{client1.Endpoint}"));
Offline(client1); // Offline(client1);
dictClient[ip] = client; // dictClient[ip] = client;
} //}
else //else
dictClient.Add(ip, client); dictClient.Add(ip, client);
thr.Start(client); thr.Start(client);
log.info(string.Format("客户端[{0}]连接服务端[{1}]成功", endPoint.ToString(), ServerInfo)); log.info(string.Format("客户端[{0}]连接服务端[{1}]成功", endPoint.ToString(), ServerInfo));
Thread.Sleep(1000); Thread.Sleep(100);
} }
catch (SocketException) catch (SocketException)
{ {
...@@ -487,6 +487,7 @@ namespace Agv ...@@ -487,6 +487,7 @@ namespace Agv
{ {
client.Loop = false; client.Loop = false;
log.error($"ListenNet error,{client.IP}", e); log.error($"ListenNet error,{client.IP}", e);
return;
} }
} }
} }
...@@ -558,7 +559,7 @@ namespace Agv ...@@ -558,7 +559,7 @@ namespace Agv
} }
} }
client.nodeName.Clear(); client.nodeName.Clear();
client.ListenNet.Abort(); // client.ListenNet.Abort();
log.info(string.Format("关闭对客户端[{0}]的监听线程1", client.Endpoint)); log.info(string.Format("关闭对客户端[{0}]的监听线程1", client.Endpoint));
} }
catch (ThreadAbortException) catch (ThreadAbortException)
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!