无法从 Android 手机连接到本地 Websocket

发布于 2025-01-09 11:19:36 字数 552 浏览 0 评论 0原文

以下行启用了我的 websocket 服务器:

async with websockets.serve(handle, "0.0.0.0", 8765)

当从同一设备连接时,

python3 -m websockets ws://192.168.178.20:8765/

它可以完美地工作。

现在在我的 flutter 应用程序中:

final channel = WebSocketChannel.connect(
    Uri.parse('ws://192.168.178.20:8765/'),
  );

它无法连接并且 Websocket 为空。我还通过 websocket-client android 应用程序对其进行了测试。 在那里我得到了错误代码1006。难道Android强制执行安全连接,这就是它无法连接的原因吗?不幸的是,我这里没有其他设备可以测试它

。我确保 192.168.178.20 是我的家庭网络中的设备地址

The Following Line enables my websocket server:

async with websockets.serve(handle, "0.0.0.0", 8765)

when connecting from the same Device

python3 -m websockets ws://192.168.178.20:8765/

It works flawlessly.

Now in my flutter App Though:

final channel = WebSocketChannel.connect(
    Uri.parse('ws://192.168.178.20:8765/'),
  );

it does not connect and the Websocket is null. I also did test it via a websocket-client android app.
There I get back the Error Code 1006. Can it be that Android enforces a secure connection and this is the reason why it can't connect? I've no other device here to test it, unfortunately

Btw. I made sure that 192.168.178.20 is the device address in my home-network

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

临走之时 2025-01-16 11:19:36

在 Android 上,您需要在 Android 清单中声明互联网的使用,请参阅 https ://docs.flutter.dev/development/data-and-backend/networking

on Android you need to declare the use of the internet in the Android manifest, see https://docs.flutter.dev/development/data-and-backend/networking

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文