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