Commit e6146934 张东亮

本地多个客户端可以连上,其他电脑的多个客户端出现互踢下线问题

1 个父辈 e7b17b35
...@@ -32,7 +32,7 @@ namespace DeviceLibrary ...@@ -32,7 +32,7 @@ namespace DeviceLibrary
{ {
log.Info("AGVServer服务启动"); log.Info("AGVServer服务启动");
IPEndPoint localEP = new IPEndPoint(IPAddress.Any, 12000); IPEndPoint localEP = new IPEndPoint(IPAddress.Parse(AppConfigHelper.GetValue(SettingString.LocalIP)), 12000);
_server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); _server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
_server.Bind(localEP); _server.Bind(localEP);
_server.Listen(100); _server.Listen(100);
...@@ -79,7 +79,7 @@ namespace DeviceLibrary ...@@ -79,7 +79,7 @@ namespace DeviceLibrary
/// </summary> /// </summary>
/// <param name="info"></param> /// <param name="info"></param>
/// <returns></returns> /// <returns></returns>
public bool Arrive(string nodeName,string RFID="") public bool Arrive(string nodeName, string RFID = "")
{ {
int idx; int idx;
int n = 0; int n = 0;
...@@ -100,7 +100,7 @@ namespace DeviceLibrary ...@@ -100,7 +100,7 @@ namespace DeviceLibrary
if (idx == -1) return false; if (idx == -1) return false;
ClientNode node = new ClientNode(nodeName, RFID, eNodeStatus.Arrive); ClientNode node = new ClientNode(nodeName, RFID, eNodeStatus.Arrive);
log.Info("SendTo " + nodeName + " RFID=" + RFID + " " +eNodeStatus.Arrive); log.Info("SendTo " + nodeName + " RFID=" + RFID + " " + eNodeStatus.Arrive);
byte[] buff = Encode(node); byte[] buff = Encode(node);
return Send(idx, buff); return Send(idx, buff);
} }
...@@ -131,7 +131,7 @@ namespace DeviceLibrary ...@@ -131,7 +131,7 @@ namespace DeviceLibrary
if (idx == -1) return false; if (idx == -1) return false;
ClientNode node = new ClientNode(nodeName, RFID, eNodeStatus.Ready); ClientNode node = new ClientNode(nodeName, RFID, eNodeStatus.Ready);
log.Info("SendTo " + nodeName + " RFID=" +RFID+" "+ eNodeStatus.Ready); log.Info("SendTo " + nodeName + " RFID=" + RFID + " " + eNodeStatus.Ready);
byte[] buff = Encode(node); byte[] buff = Encode(node);
return Send(idx, buff); return Send(idx, buff);
} }
...@@ -218,8 +218,8 @@ namespace DeviceLibrary ...@@ -218,8 +218,8 @@ namespace DeviceLibrary
IPEndPoint ep = (IPEndPoint)socket.RemoteEndPoint; IPEndPoint ep = (IPEndPoint)socket.RemoteEndPoint;
Thread listen = new Thread(new ParameterizedThreadStart(ListenNet)); Thread listen = new Thread(new ParameterizedThreadStart(ListenNet));
string ip = ep.Address.ToString(); string ip = ep.Address.ToString();
if (ip == Common.AppConfigHelper.GetValue(Common.SettingString.LocalIP)) ip += ":" + ep.Port;
ip += ":" + ep.Port; log.Info(string.Format("客户端连接:{0}", ip));
//新的客户端 //新的客户端
Client client = new Client Client client = new Client
...@@ -376,7 +376,7 @@ namespace DeviceLibrary ...@@ -376,7 +376,7 @@ namespace DeviceLibrary
eNodeStatus action = (eNodeStatus)buff[idx++]; eNodeStatus action = (eNodeStatus)buff[idx++];
ClientLevel level = (ClientLevel)buff[idx++]; ClientLevel level = (ClientLevel)buff[idx++];
ClientNode node = new ClientNode(name,rfid,action, mark,level); ClientNode node = new ClientNode(name, rfid, action, mark, level);
if (buff[idx] != 0xBA) if (buff[idx] != 0xBA)
return null; return null;
...@@ -400,7 +400,7 @@ namespace DeviceLibrary ...@@ -400,7 +400,7 @@ namespace DeviceLibrary
NodeChanged?.Invoke(idx); NodeChanged?.Invoke(idx);
if (CommonVar.nodeInfo[idx].CheckNodeStateChanged(node)) if (CommonVar.nodeInfo[idx].CheckNodeStateChanged(node))
{ {
log.Info( "节点状态更新 " + node.StatetText()); log.Info("节点状态更新 " + node.StatetText());
NodeChanged?.Invoke(idx); NodeChanged?.Invoke(idx);
} }
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!