Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
AGV_Com_Protol
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 64e1f900
由
张东亮
编写于
2024-02-28 16:47:08 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1
1 个父辈
35075b96
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
11 行增加
和
10 行删除
Agv/obj/Debug/Agv.csproj.AssemblyReference.cache
Server/AgvServer.cs
Server/bin/Debug/Agv.Server.dll
Server/bin/Debug/Agv.Server.pdb
Server/obj/Debug/Agv.Server.dll
Server/obj/Debug/Agv.Server.pdb
Server/obj/Debug/Server.csproj.AssemblyReference.cache
Agv/obj/Debug/Agv.csproj.AssemblyReference.cache
查看文件 @
64e1f90
此文件类型无法预览
Server/AgvServer.cs
查看文件 @
64e1f90
...
@@ -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
(
100
0
);
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
)
...
...
Server/bin/Debug/Agv.Server.dll
查看文件 @
64e1f90
此文件类型无法预览
Server/bin/Debug/Agv.Server.pdb
查看文件 @
64e1f90
此文件类型无法预览
Server/obj/Debug/Agv.Server.dll
查看文件 @
64e1f90
此文件类型无法预览
Server/obj/Debug/Agv.Server.pdb
查看文件 @
64e1f90
此文件类型无法预览
Server/obj/Debug/Server.csproj.AssemblyReference.cache
查看文件 @
64e1f90
此文件类型无法预览
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论