HarmonyOS 鸿蒙Next 远程模拟器使用websocket访问本机localhost服务器方法

HarmonyOS 鸿蒙Next 远程模拟器使用websocket访问本机localhost服务器方法 我尝试过将localhost换成局域网ipv4地址,但也不行,websocket.connect 函数没有报错但也没有’open’的回调。

6 回复

本机localhost服务器在内网没上公网,所以远程模拟器访问不到的,可以考虑内网穿透,不过比较麻烦,一般来说本机服务器只用于简单的调试,如果想上公网测试的话,还是弄个云服务器吧

更多关于HarmonyOS 鸿蒙Next 远程模拟器使用websocket访问本机localhost服务器方法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


那请问本地模拟器可以访问本机服务器吗

本地模拟器直接访问也是访问不到的,因为本机服务器的地址为192.168.X.X,本地模拟器去访问这个地址的话会访问到模拟器自身。暂时未看到DevEco Studio有这方面的资料和文档。但是模拟器应该有一个IP地址可以映射到本机,具体的地址你可以提交工单问一下,有结果了可以分享出来。Android Studio模拟器的本机映射地址好像就是10.0.0.2,

好的,十分感谢!祝您生活愉快!

https://developer.huawei.com/consumer/cn/forum/topic/0203863581371130339?fid=0102683795438680754

根据这个帖子中的回复,本地模拟器访问本机的IP是10.0.2.2,经尝试可行。

在HarmonyOS鸿蒙Next中,使用远程模拟器通过WebSocket访问本机localhost服务器时,由于模拟器运行在远程环境中,直接使用localhost127.0.0.1无法访问本机服务器。可以通过以下步骤实现访问:

  1. 获取本机IP地址:在命令行中使用ipconfig(Windows)或ifconfig(macOS/Linux)获取本机的局域网IP地址,例如192.168.1.100

  2. 配置服务器监听地址:确保本机服务器监听的地址为0.0.0.0,而不是127.0.0.1,以允许外部设备访问。

  3. 修改WebSocket连接地址:在鸿蒙应用中,将WebSocket连接地址从ws://localhost:port修改为ws://<本机IP>:port,例如ws://192.168.1.100:8080

  4. 确保网络连通性:确保本机和远程模拟器在同一局域网内,且防火墙允许相关端口的通信。

  5. 测试连接:运行应用并测试WebSocket连接是否成功。

通过以上步骤,远程模拟器可以成功访问本机服务器。

回到顶部