我有类似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字节操作不太熟悉。
答案 0 :(得分:1)
您可以在Dart中获取JSON字符串
import 'dart:convert';
...
var jsonString = json.encode(data);
并使用
获取字符串的字节var bytes = jsonString.codeUnits;