我在Node.js中使用此代码,并在Udp端口6000中接收所有即将到来的数据
const dgram = require("dgram");
const server = dgram.createSocket("udp4");
server.on("error", err => {
console.log(`server error:\n${err.stack}`);
server.close();
});
server.on("message", (msg, rinfo) => {
console.log(` Data : ${msg.toString("hex")} from
${rinfo.address}:${rinfo.port}`);
});
server.on("listening", () => {
const address = server.address();
server.setBroadcast(true);
console.log(`server listening ${address.address}:${address.port}`);
});
server.bind(6000);
数据是这样的:
Data :c0a80afe534d415254434c4f5544aaaa0f013001acf036ffff00000000444e from
192.168.1.10:6000
现在这是Dart代码:
import 'dart:io';
void main() {
RawDatagramSocket.bind(InternetAddress.ANY_IP_V4, 6000).then((value) {
value.listen((event) {
if (event == RawSocketEvent.READ) {
var datagram = value.receive();
print(new String.fromCharCodes(datagram.data));
}
});
});
}
此代码未收到该节点看到的即将到来的数据
它怎么可能从dart udp发送代码接收数据
import 'dart:io';
void main(List<String> args) {
RawDatagramSocket.bind(InternetAddress.ANY_IP_V4, 7000)
.then((RawDatagramSocket socket) {
print('Sending from ${socket.address.address}:${socket.port}');
int port = 6000;
socket.send('Hello from UDP land!\n'.codeUnits,
InternetAddress.LOOPBACK_IP_V4, port);
});
}
我如何使用Dart接收即将到来的数据? 我想接收在dart lang中看到的任何节点 谢谢
更新:Node.js读取而未转换为字符串的原始数据
<Buffer c0 a8 0a fe 53 4d 41 52 54 43 4c 4f 55 44 aa aa 0f 01 33 01 ac f0
36 ff ff 00 00 00 00 3c b4>