|
@@ -0,0 +1,35 @@
|
|
|
+import 'dart:convert';
|
|
|
+import 'dart:io';
|
|
|
+import 'dart:typed_data';
|
|
|
+
|
|
|
+Future<void> main(List<String> args) async {
|
|
|
+ var connectUrl = args[0]; //'ws://127.0.0.1:8888?token=A8A8A8'
|
|
|
+ WebSocket.connect(connectUrl).then((socket) {
|
|
|
+ socket.listen((onData) {
|
|
|
+ var typename = onData.runtimeType.toString();
|
|
|
+ //print("typename$typename");
|
|
|
+ var uint8Array = Uint8List.fromList(onData);
|
|
|
+ //print("uint8Array:$onData");
|
|
|
+ var byteData = uint8Array.buffer.asByteData();
|
|
|
+ var messageType = byteData.getUint8(0);
|
|
|
+ //print("messageType:$messageType");
|
|
|
+ var notifyType = byteData.getUint8(1);
|
|
|
+ //print("notifyType:$notifyType");
|
|
|
+ var messageLength = byteData.getUint8(2);
|
|
|
+ var byteDataLength = byteData.lengthInBytes;
|
|
|
+ //print("bytelength:$byteDataLength,messagelength:$messageLength");
|
|
|
+ var messageConentList =
|
|
|
+ Uint8List.view(uint8Array.buffer, 6, messageLength);
|
|
|
+ var messageConentLength = messageConentList.length;
|
|
|
+ //print("messageConentLength:$messageConentLength");
|
|
|
+ var messageConent = Uint8List.fromList(messageConentList);
|
|
|
+ var messageText = Utf8Decoder().convert(messageConent);
|
|
|
+ print(
|
|
|
+ "【WebSocket】接收到消息 == > msgtype:$messageType, notifyType:$notifyType,lenght:$messageLength, content:$messageText");
|
|
|
+ }, onError: (error) {
|
|
|
+ print("【WebSocket】错误 == > $error");
|
|
|
+ }, onDone: () {
|
|
|
+ print("【WebSocket】结束链接");
|
|
|
+ });
|
|
|
+ });
|
|
|
+}
|