sockets - 如何将套接字绑定到网络接口
问题描述
该应用程序必须通过其提供的 WiFi 网络连接到托管在 192.168.0.10:35000 的套接字服务器,同时具有活动的数据连接。
以下代码引发错误:
SocketException:连接超时,主机:192.168.0.10,端口:35000
this._socket = await Socket.connect('192.168.0.10', 35000);
如果我禁用手机的数据连接,它会正常连接。我认为这证实了 Socket 未绑定到 WiFi 网络。
在原生 Android 环境中,我相信该ConnectivityManager.bindProcessToNetwork()
方法或该Network.getSocketFactory()
方法可以解决问题。
有没有办法在不编写本机代码的情况下实现这一点?
一些额外的信息:
在“192.168.0.10”上运行InternetAddress.lookup()
会得到以下结果:
运行NetworkInterfaces.list()
给出以下信息:
解决方案
推荐阅读
- matlab - Matlab 编辑器变得非常慢,多项式方程具有“组合”(大量)项
- reactjs - 在 ReactJs 中使用 props 访问对象
- android - 颤振 - 重新加载时奖励视频广告错误:“ad_not_loaded,奖励视频显示失败,未加载广告,null)”
- r - R熔化/收集文件,带有2个标题行到属性中
- ruby - 使用 Hash 中的键值对作为问答
- scheme - 方案中的 Luhn 算法
- c++ - 如何计算 eigen::Tensor 中非零的数量
- reactjs - “react-dnd”不包含名为“DragDropContext”的导出
- python - pandas dataframe - 从特定条件下获取价值
- mongodb - 创建 mongodb 数据库并通过 docker-compose 填充一些数据