websocket Flutter和Socket.io:代码没有React,没有错误,无法调试

x6h2sr28  于 2023-08-05  发布在  Flutter
关注(0)|答案(1)|浏览(146)

我正在创建一个应用程序,它应该在我的nodejs服务器中触发一个更长的进程,而应用程序应该通过socket.io接收进度更新。
带有www.example.com的节点服务器socket.io工作正常,我已经在浏览器中使用Web客户端测试过它。但是,我无法在flutter应用程序中执行socket_io_client 1.0.2包的flutter代码。
这段代码位于一个方法中,当用户按下按钮时,该方法将被调用:

try {
print("step 1");
IO.Socket socket = IO.io('http://localhost:3000',
    OptionBuilder().setTransports(['websocket']).build());

socket.on('connect', (_) {
  print('connect: ${socket.id}');
  socket.emit('process1', json.encode(_req));
});

socket.on('progress', (data) => print(data));
socket.onDisconnect((_) {
  print('disconnect');
  _finished = true;
});
} catch (e) {
  print(e);
  print("error");
}
print("step 2");

字符串
当单击按钮时,执行方法,但不执行套接字部分。在控制台中,我立即得到

step 1
step 2


但没有其他事情发生:控制台会立即记录测试语句,服务器不会注意到任何传入的连接…这是因为socket.io相关代码永远不会执行。没有错误,没有控制台消息,什么都没有!
有没有人知道为什么代码会这样,为什么什么都没发生?
Flutter(Channel stable,2.10.4)socket_io_client:^1.0.2

gz5pxeao

gz5pxeao1#

我在使用相同版本的fluttersocket_io_client时遇到了同样的问题。
sockit_io_client更改为^2.0.0-beta.4-nullsafety.0版本后,它可以正常工作。
https://pub.dev/packages/socket_io_client/versions/2.0.0-beta.4-nullsafety.0
在他们的Github页面上有很多关于它的讨论。将在下一个版本中修复。

相关问题