1***@qq.com
1***@qq.com
  • 发布:2023-12-01 09:57
  • 更新:2023-12-01 09:57
  • 阅读:427

websocket能调用但是open失败

分类:uni-app
  我需要用手机app给设备发指令信息,先用同一路由器下的电脑作为server端测试,电脑上只运行网络调试助手。  

手机的地址是10.168.1.101,电脑作为server端地址是10.168.1.100,端口在网络助手里设置为4000.
我app上也很简单就调用了官方文档里写的那几个uni.websocket方法,结果一直是uni.connectsocket能调用成功,但是始终open失败,然后我测试使用了这个外网的测试服务器地址,结果收发正常。
在电脑端上看,就只有在connectsocket调用的时候,网络调试助手里出现了一次信息,之后因为open失败所以收不到信息了。
想问问问题出在哪?是端口被什么安全屏蔽之类的原因么?还是说电脑开启一个网络调试助手不足以作为“正常”的server端,必须要代码进行相关配置?

beforeDestroy() {  
            this.closeSocket();  
        },  
        methods: {  
            initWebSocket() {  
                let that = this;  
                this.socketTask = uni.connectSocket({  
                    url: "ws://10.168.1.100:4000",  
                    // url: 'ws://172.16.1.1:4000',  
                    success(res) {  
                        console.log("WebSocket连接成功!");  
                    }  
                });  

                uni.onSocketOpen(function(res) {  
                    that.isSocketOpen = true;  
                    console.log("WebSocket已打开!");  

                    uni.onSocketMessage(function(res) {  
                        console.log("收到:" + res.data);  
                        uni.showToast({  
                            title: "收到:" + res.data  
                        })  
                        if (res.data) {}  
                    })  
                });  
                uni.onSocketError(function(err) {  
                    console.log("WebSocket连接打开失败,请检查!" + err);  
                });  
                // uni.onSocketMessage(function(res) {  
                //  console.log("收到:" + res.data);  
                //  uni.showToast({  
                //      title: "收到:" + res.data  
                //  })  
                //  if (res.data) {}  
                // });  
            },  
            closeSocket() {  
                uni.closeSocket();  
                this.isSocketOpen = false;  
                this.websock = null;  
                uni.onSocketClose(function(res) {  
                    console.log("WebSocket已关闭!");  
                });
2023-12-01 09:57 负责人:无 分享
已邀请:

要回复问题请先登录注册