connect method
Implementation
Future<WebSocket> connect() async {
// Random r = new Random();
final int key = 758485960049485;
// Random r = new Random();
// String key = base64.encode(List<int>.generate(8, (_) => r.nextInt(256)));
// HttpClient client = HttpClient(/* optional security context here */);
// HttpClientRequest request = await client.get('echo.websocket.org', 80,
// '/foo/ws?api_key=myapikey'); // form the correct url here
// request.headers.add('Connection', 'upgrade');
// request.headers.add('Upgrade', 'websocket');
// request.headers.add('sec-websocket-version', '13'); // insert the correct version here
// request.headers.add('sec-websocket-key', key);
// HttpClientResponse response = await request.close();
// // todo check the status code, key etc
// Socket socket = await response.detachSocket();
// WebSocket ws = WebSocket.fromUpgradedSocket(
// socket,
// serverSide: false,
// );
// HttpClient clientLearn = HttpClient(/* optional security context here */);
// HttpClientRequest requestLearn = await clientLearn.get('echo.websocket.org', 80,
// '/foo/ws?api_key=myapikey'); // form the correct url here
var uri = Uri(
scheme: "http",
userInfo: "",
host: "10.44.0.55",
port: 8088,
path: "ari/events",
//Iterable<String>? pathSegments,
query: "",
queryParameters: {
'api_key': api_key,
'app': 'hello',
'subscribe_all': 'true'
}
//String? fragment
);
HttpClient client = HttpClient();
HttpClientRequest request = await client.getUrl(uri);
request.headers.add('connection', 'Upgrade');
//print('Hello');
request.headers.add('upgrade', 'websocket');
request.headers.add('Sec-WebSocket-Version', '13');
//request.headers.add('WebSocket-Version', '13');
request.headers.add('Sec-WebSocket-Key', key);
//HttpClientResponse response = await request.close();
HttpClientResponse response = await request.close();
//print(response);
// Socket socket = await response.detachSocket();
Socket socket = await response.detachSocket();
WebSocket ws = WebSocket.fromUpgradedSocket(socket, serverSide: false);
// ws.listen((event) {
// var e = json.decode(event);
// //print(e['type']);
// Function? func = app[e['type']];
// func!.call(e);
// });
//ws.listen(onData(//), onMessage, onDone: connectonClosed);
// void on("StasisStart") {
// print("Hello");
// }
// ws.listen((event) {
// var e = json.decode(event);
// on(app[e['type']]);
// },onError: on);
return ws;
}