部分优化提交

This commit is contained in:
Daisy 2024-04-01 11:04:34 +08:00
parent 9f5d5b21a5
commit 2db8ce5166

View File

@ -1,4 +1,3 @@
import 'dart:async';
import 'dart:io';
@ -12,7 +11,10 @@ class UDPManage{
UDPManage._init() {
initUdp();
_streamSubscription = EventBusManager().eventBus!.on<EventSendModel>().listen((EventSendModel sendModel) {
_streamSubscription = EventBusManager()
.eventBus!
.on<EventSendModel>()
.listen((EventSendModel sendModel) {
// print("sendModel.sendChannel:${sendModel.sendChannel}");
if (sendModel.sendChannel == DataChannel.udp) {
List<int> data = sendModel.data;
@ -25,6 +27,7 @@ class UDPManage{
_manager ??= UDPManage._init();
return _manager!;
}
factory UDPManage() => _share();
UDPManage get manager => _share();
@ -56,15 +59,16 @@ class UDPManage{
print('Udp ----> host:$host port:$port');
var addressIListenFrom = InternetAddress.anyIPv4;
int portIListenOn = 62288;
RawDatagramSocket.bind(addressIListenFrom, portIListenOn).then((RawDatagramSocket socket){
RawDatagramSocket.bind(addressIListenFrom, portIListenOn)
.then((RawDatagramSocket socket) {
_udpSocket = socket;
///广
_udpSocket!.broadcastEnabled = true;
_onReceiveData(socket);
});
}
void _onReceiveData(RawDatagramSocket socket) {
socket.listen((RawSocketEvent event) {
if (event == RawSocketEvent.read) {
@ -90,14 +94,12 @@ class UDPManage{
}
try {
// print("sendData:$data");
var result = _udpSocket?.send(data, InternetAddress(host!), port!);
var result = _udpSocket?.send(data, InternetAddress(host), port);
if (result != data.length) {
print('❌Udp ----> send data $result ${data.length}');
_udpSocket = null;
}
}catch (e){
}
} catch (e) {}
}
bool exit() {
@ -108,9 +110,7 @@ class UDPManage{
return true;
}
void disposed() {
_streamSubscription?.cancel();
}
}