Compare commits
No commits in common. "525e10badc52ae944abcd482f9af2353916674c3" and "b6b6e41e8bd894cc9267fabd62bf3e3785a5226f" have entirely different histories.
525e10badc
...
b6b6e41e8b
|
|
@ -45,7 +45,6 @@ class LoginSocket{
|
||||||
connect() async {
|
connect() async {
|
||||||
socket?.close();
|
socket?.close();
|
||||||
socket = await Socket.connect(url, port, timeout: const Duration(seconds: 30));
|
socket = await Socket.connect(url, port, timeout: const Duration(seconds: 30));
|
||||||
heartTime = DateTime.now().millisecondsSinceEpoch;
|
|
||||||
|
|
||||||
socket?.listen((event) {
|
socket?.listen((event) {
|
||||||
|
|
||||||
|
|
@ -59,11 +58,6 @@ class LoginSocket{
|
||||||
// 服务器心跳
|
// 服务器心跳
|
||||||
if (data['op'] == 4){
|
if (data['op'] == 4){
|
||||||
try{
|
try{
|
||||||
|
|
||||||
// 更新上次心跳时间
|
|
||||||
heartTime = DateTime.now().millisecondsSinceEpoch;
|
|
||||||
|
|
||||||
// 心跳回报时间是否超时
|
|
||||||
int time = data['time'];
|
int time = data['time'];
|
||||||
time = DateTime.now().millisecondsSinceEpoch - time;
|
time = DateTime.now().millisecondsSinceEpoch - time;
|
||||||
if(time> (3 * 60 * 1000) ){ // 时间戳 > 3分钟
|
if(time> (3 * 60 * 1000) ){ // 时间戳 > 3分钟
|
||||||
|
|
@ -113,17 +107,17 @@ class LoginSocket{
|
||||||
|
|
||||||
/// 心跳
|
/// 心跳
|
||||||
heartbeat(){
|
heartbeat(){
|
||||||
|
DateTime now = DateTime.now();
|
||||||
|
int timestamp = now.millisecondsSinceEpoch; // 秒
|
||||||
|
heartTime = timestamp;
|
||||||
|
|
||||||
Timer(const Duration(seconds: 20), () async {
|
Timer(const Duration(seconds: 20), () async {
|
||||||
|
|
||||||
final time = DateTime.now().millisecondsSinceEpoch - heartTime;
|
if (socket == null){
|
||||||
if(time > (3 * 60 * 1000) ){ // 时间戳 > 3分钟
|
// 重连
|
||||||
socketError();
|
await connect();
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
heartbeat();
|
|
||||||
|
|
||||||
Map map = {
|
Map map = {
|
||||||
"op": 3,
|
"op": 3,
|
||||||
};
|
};
|
||||||
|
|
@ -131,6 +125,8 @@ class LoginSocket{
|
||||||
socket?.add(dataMake(map));
|
socket?.add(dataMake(map));
|
||||||
socket?.flush();
|
socket?.flush();
|
||||||
|
|
||||||
|
heartbeat();
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue