connectMessageService method

Future<bool> connectMessageService()

Implementation

Future<bool> connectMessageService() async {
  if (!isLogin) {
    return false;
  }

  var cookies =
      await _cookies.cookieJar.loadForRequest(Uri(host: serverHost));
  String cookieHeader = cookies.join("; ");
  String wsAddr = _baseAddr.replaceAll("http", "ws");
  _messageClient = await WebSocket.connect(
      "$wsAddr/message_service?device_id=$deviceId",
      headers: {"Cookie": cookieHeader});

  _onRecvMessage = _messageClient.map((event) {
    var message = Message()..mergeFromProto3Json(jsonDecode(event as String));
    return message;
  });

  return true;
}