start method
Implementation
Future<void> start({int? preferPort}) async {
try {
int targetPort = preferPort ?? FlutsimConfig.unifiedWebSocketPort;
_server = await HttpServer.bind(InternetAddress.anyIPv4, targetPort);
_boundPort = _server!.port;
_server!.listen((HttpRequest request) {
if (WebSocketTransformer.isUpgradeRequest(request)) {
WebSocketTransformer.upgrade(request).then((WebSocket webSocket) {
_handleWebSocket(webSocket);
});
} else {
request.response.statusCode = 400;
request.response.close();
}
});
} catch (e) {
// If the port is taken, try finding another one just like server.dart does
print('❌ Failed to start Unified WebSocket server: $e');
}
}