mirror of
https://github.com/Linloir/Simple-TCP-Server.git
synced 2025-12-16 23:48:11 +08:00
Bug Fix:
- Not deleting closed sockets in sokcet map
This commit is contained in:
parent
9825802e06
commit
3e575110a9
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Author : Linloir
|
||||
* @Date : 2022-10-06 15:44:16
|
||||
* @LastEditTime : 2022-10-22 17:56:35
|
||||
* @LastEditTime : 2022-10-22 20:35:50
|
||||
* @Description :
|
||||
*/
|
||||
|
||||
@ -42,7 +42,13 @@ void main(List<String> arguments) async {
|
||||
var token = controllerMap[controller];
|
||||
controllerMap.remove(controller);
|
||||
tokenMap[token]?.remove(controller);
|
||||
}
|
||||
},
|
||||
onDone: () {
|
||||
var token = controllerMap[controller];
|
||||
controllerMap.remove(controller);
|
||||
tokenMap[token]?.remove(controller);
|
||||
},
|
||||
cancelOnError: true
|
||||
);
|
||||
controller.requestStreamBroadcast.listen(
|
||||
(request) async {
|
||||
@ -140,11 +146,11 @@ void main(List<String> arguments) async {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
//Update Fetch Histories
|
||||
await DataBaseHelper().setFetchHistoryFor(
|
||||
tokenID: device,
|
||||
newTimeStamp: message.timestamp
|
||||
);
|
||||
// //Update Fetch Histories
|
||||
// await DataBaseHelper().setFetchHistoryFor(
|
||||
// tokenID: device,
|
||||
// newTimeStamp: message.timestamp
|
||||
// );
|
||||
}
|
||||
var targetUserID = message.receiverID;
|
||||
var targetDevices = await DataBaseHelper().fetchTokenIDsViaUserID(userID: targetUserID);
|
||||
@ -170,11 +176,11 @@ void main(List<String> arguments) async {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
//Update Fetch Histories
|
||||
await DataBaseHelper().setFetchHistoryFor(
|
||||
tokenID: device,
|
||||
newTimeStamp: message.timestamp
|
||||
);
|
||||
// //Update Fetch Histories
|
||||
// await DataBaseHelper().setFetchHistoryFor(
|
||||
// tokenID: device,
|
||||
// newTimeStamp: message.timestamp
|
||||
// );
|
||||
}
|
||||
var response = await onSendMessage(request, socket);
|
||||
controller.outStream.add(response);
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Author : Linloir
|
||||
* @Date : 2022-10-08 15:10:04
|
||||
* @LastEditTime : 2022-10-20 20:20:00
|
||||
* @LastEditTime : 2022-10-22 20:30:36
|
||||
* @Description :
|
||||
*/
|
||||
|
||||
@ -66,9 +66,11 @@ class TCPController {
|
||||
print('[L] [CLOSED ]-----------------------');
|
||||
print('[L] Connection closed: ${socket.address}:${socket.port}<-${socket.remoteAddress}:${socket.remotePort}');
|
||||
_requestStreamController.close();
|
||||
_responseStreamController.close();
|
||||
}).onError((error, stackTrace) {
|
||||
print(error);
|
||||
_requestStreamController.addError(error ?? Error());
|
||||
_responseStreamController.addError(error ?? Error());
|
||||
},);
|
||||
// socket.listen(
|
||||
// _pullRequest,
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Author : Linloir
|
||||
* @Date : 2022-10-08 15:14:26
|
||||
* @LastEditTime : 2022-10-20 16:33:16
|
||||
* @LastEditTime : 2022-10-22 20:21:10
|
||||
* @Description :
|
||||
*/
|
||||
import 'dart:convert';
|
||||
@ -16,6 +16,7 @@ enum RequestType {
|
||||
modifyPassword('MODIFYPASSWD'), //Modify user password
|
||||
modifyProfile ('MODIFYPROFILE'), //Modify user profile
|
||||
sendMessage ('SENDMSG'), //Send message
|
||||
ackMessage ('ACKMSG'), //Ack forwarded messages, update fetch history
|
||||
fetchMessage ('FETCHMSG'), //Fetch message
|
||||
findFile ('FINDFILE'), //Find file by md5 before transmitting the file
|
||||
fetchFile ('FETCHFILE'), //Fetch file and file md5 by message md5
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user