Flutter将json作为字节发送到websocket服务器?

时间:2018-05-22 09:06:24

标签: json request dart flutter

我有类似JSON之类的消息:

"2018-05-29T08:00:00"

我想把这条消息发送到只处理json请求的websocket服务器,如果是纯文本或格式错误的json,它会拒绝连接。

这是在做什么:

  static getHiMsg(String token, String sender) {
   var msg = {
        "token": token,
        "user_addr": sender,
        "ua": "dart/fluter-v0.0.1",
        "device": "Phone",
        "location": "Hunan"
    };
    var outMsg = {
        "msg_type": "hi",
        "payload": msg
    };
    return outMsg;
  }

channel只是 void _sayHi() async { _token = await _prefs.getToken(); _userAddr = await _prefs.getUserAddr(); var hi = getHiMsg(_token, _userAddr); print(hi); channel.sink.add(hi); } 这里我的服务器无法获得正确的JSON格式请求,实际上这是Python中正确的逻辑:

IOWebSocketChannel.connect(wsUrl)

如何在Dart和Flutter中实现这一目标?我对Dart字节操作不太熟悉。

1 个答案:

答案 0 :(得分:1)

您可以在Dart中获取JSON字符串

import 'dart:convert';

...

var jsonString = json.encode(data);

并使用

获取字符串的字节
var bytes = jsonString.codeUnits;