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