update socket code
This commit is contained in:
parent
04289debfd
commit
bf57e08f92
2 changed files with 13 additions and 4 deletions
|
|
@ -129,8 +129,6 @@ class ProtobufClient extends Communicator
|
|||
|
||||
void dispose()
|
||||
{
|
||||
_onDisconnectListenerList.clear();
|
||||
_arrivedData.clear();
|
||||
_socket.close();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,11 +4,12 @@ import 'dart:io';
|
|||
import 'package:dart_framework/socket/packets/message_common.pb.dart';
|
||||
import 'package:dart_framework/socket/protobuf_client.dart';
|
||||
import 'package:dart_framework/utils/system_util.dart';
|
||||
import 'package:protobuf/protobuf.dart';
|
||||
|
||||
abstract class ProtobufServer
|
||||
{
|
||||
List<ProtobufClient> _clientList = [];
|
||||
late ServerSocket _server;
|
||||
late ServerSocket? _server;
|
||||
final String _host;
|
||||
final int _port;
|
||||
final ProtobufClient Function(Socket) _createNewClient;
|
||||
|
|
@ -18,7 +19,7 @@ abstract class ProtobufServer
|
|||
Future start() async
|
||||
{
|
||||
_server = await ServerSocket.bind(_host, _port);
|
||||
_server.listen((Socket socket) {
|
||||
_server?.listen((Socket socket) {
|
||||
var client = _createNewClient(socket);
|
||||
client.addDisconnectListener(onDisconnectedClient);
|
||||
client.addListener(onTemplateData);
|
||||
|
|
@ -46,4 +47,14 @@ abstract class ProtobufServer
|
|||
template.message = 'This message from flutter';
|
||||
_clientList[0].send(template);
|
||||
}
|
||||
|
||||
Future broadcast<T extends GeneratedMessage>(T data) async {
|
||||
for(var client in _clientList) {
|
||||
await client.send(data);
|
||||
}
|
||||
}
|
||||
|
||||
Future stop() async {
|
||||
await _server?.close();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue