Mik*_*ink 2 websocket dart flutter
如何将 websocket 包与 dart web 一起使用?我有以下代码
import 'package:projectname/data/chat/chat_message.dart';
import 'package:projectname/data/chat/chat_provider.dart';
import 'package:web_socket_channel/io.dart';
import '../path.dart';
class MockChatProvider implements ChatProvider {
@override
IOWebSocketChannel connect() {
return IOWebSocketChannel.connect(Uri.parse(Path.joinChat));
}
@override
sendChatMessage(IOWebSocketChannel channel, ChatMessage message) {
channel.sink.add(message.toJson());
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试连接时出现以下错误
Unsupported operation: Platform._version
Run Code Online (Sandbox Code Playgroud)
该软件包确实说它支持网络。我究竟做错了什么?
小智 5
package:web_socket_channel/web_socket_channel.dart
只需使用TLDR包即可;
我认为你应该使用这个...
import 'package:web_socket_channel/web_socket_channel.dart';
Run Code Online (Sandbox Code Playgroud)
...代替...
import 'package:web_socket_channel/io.dart';
Run Code Online (Sandbox Code Playgroud)
并将其用作
WebSocketChannel connect() {
...
return WebSocketChannel.connect(Uri.parse(Path.joinChat));
...
sendChatMessage(WebSocketChannel channel, ChatMessage message) {
Run Code Online (Sandbox Code Playgroud)
注意:我没有尝试过并测试过!
我认为问题是你找到了正确的包,但你直接使用IOWebSocketChannel. 这只适用于dart:io可用的地方。该包中还有另一个类,HtmlWebSocketChannel仅适用于网络。
| 归档时间: |
|
| 查看次数: |
2368 次 |
| 最近记录: |