desktop push

This commit is contained in:
ImBenji
2024-05-20 09:06:38 +01:00
parent e5a8d78bf1
commit 639faddfc8
19 changed files with 2455 additions and 996 deletions

View File

@@ -25,7 +25,7 @@ class AudioWrapper {
print("AudioWrapper mode: $mode");
mode = AudioWrapper_Mode.Web;
// mode = AudioWrapper_Mode.Web;
}
justaudio.AudioSource _convertSource_JustAudio(AudioWrapperSource source){

View File

@@ -0,0 +1,38 @@
import 'dart:isolate';
import 'dart:async';
import 'dart:io';
import 'package:shelf/shelf.dart' as shelf;
import 'package:shelf/shelf_io.dart' as shelf_io;
import 'package:shelf_web_socket/shelf_web_socket.dart';
import 'package:web_socket_channel/io.dart'; // Import IOWebSocketChannel
void webSocketServer(SendPort sendPort) async {
final clients = <IOWebSocketChannel>[]; // Use IOWebSocketChannel
final handler = webSocketHandler((webSocket) {
clients.add(webSocket);
webSocket.stream.listen(
(message) {
print('Received: $message');
for (var client in clients) {
if (client != webSocket) {
client.sink.add(message); // Broadcast the message to other clients
}
}
},
onDone: () {
clients.remove(webSocket);
},
);
});
final server = await shelf_io.serve(
shelf.Pipeline().addMiddleware(shelf.logRequests()).addHandler(handler),
'0.0.0.0',
8080,
);
print('WebSocket server running at ws://${server.address.host}:${server.port}');
sendPort.send('Server running at ws://${server.address.host}:${server.port}');
}