Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 如何使用带颤振腹板的插座_Sockets_Flutter_Flutter Web - Fatal编程技术网

Sockets 如何使用带颤振腹板的插座

Sockets 如何使用带颤振腹板的插座,sockets,flutter,flutter-web,Sockets,Flutter,Flutter Web,我正在尝试使用socketio在用Python编写的套接字服务器与使用FlatterWeb制作的客户端之间建立连接 我测试了各种各样的套接字包,比如和,但没有任何效果。我在Android上尝试了相同的代码片段,但它们也不起作用 我一直在搜索,我找到了这个代码片段。它使用dart.io包中的Socket类 Socket socket = await Socket.connect('192.168.2.190', 7003); print('connected'); // lis

我正在尝试使用
socketio
在用Python编写的套接字服务器与使用FlatterWeb制作的客户端之间建立连接

我测试了各种各样的套接字包,比如和,但没有任何效果。我在Android上尝试了相同的代码片段,但它们也不起作用

我一直在搜索,我找到了这个代码片段。它使用
dart.io
包中的
Socket

Socket socket = await Socket.connect('192.168.2.190', 7003);

    print('connected');

    // listen to the received data event stream
    socket.listen((List<int> event) {
      print(utf8.decode(event));
    });

    // send hello
    socket.add(utf8.encode('hello'));

    // wait 5 seconds
    await Future.delayed(Duration(seconds: 5));

    // .. and close the socket
    socket.close();
Socket-Socket=wait-Socket.connect('192.168.2.190',7003);
打印(“连接”);
//侦听接收到的数据事件流
socket.listen((列表事件){
打印(utf8.解码(事件));
});
//打招呼
socket.add(utf8.encode('hello'));
//等5秒钟
等待未来。延迟(持续时间(秒:5));
// .. 然后合上插座
socket.close();
这个连接到Python服务器并从Android发送数据,但当我从Web测试它时,我没有连接

是否有一些额外的东西,我需要添加它在网络上工作


或者在最坏的情况下,是否有其他方法来完成我想做的事情,我的目标是在网站上显示视频提要。视频实际上是从Python中获取的一组图像,有一些机器学习将在它们上执行,我想通过套接字发送它们,每个图像一收到就显示出来,所以看起来像一个视频提要。(使用React完成了类似的操作)

dart.io
包与Flatter web不兼容。我想,正如普金所说,websockets是一个不错的选择。您可以使用文档中的包中的
HtmlWebSocketChannel
。我已经使用过这个软件包,可以确认它在颤振网络中运行良好

在您的情况下,应该使用以下内容

var channel = HtmlWebSocketChannel.connect("ws://192.168.2.190:7003");
但请注意,这与常规颤振应用程序不可互操作。如果您的目标是android和Flatter web,那么您应该根据构建渠道的目标有条件地处理此渠道创建,并在
HtmlWebSocketChannel
IOWebSocketChannel
之间做出决定以创建连接。如果您感兴趣,可以使用本文*中建议的基于条件存根的实现


*注意:这是我的帖子。:)

为什么不呢?不再需要使用任何条件。您可以跨平台使用WebSocketChannel类。