Browse Source

dart notification demo

warr.qian 2 năm trước cách đây
mục cha
commit
0701116828
1 tập tin đã thay đổi với 35 bổ sung0 xóa
  1. 35 0
      Demo/websocketclient.dart

+ 35 - 0
Demo/websocketclient.dart

@@ -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】结束链接");
+    });
+  });
+}