添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
// data: "a6:12:12:12:12:12", success: function() { console.log("数据发送成功,数据为:" + that.bssid); //----------------------------------------- console.log("数据发送结束,开始接收"); // that.sleep(2000); uni.onSocketMessage(function(res) { isReceive = true; console.log('收到服务器内容:' + res.data); uni.closeSocket({ success: function() { console.log("websocket关闭成功"); fail: function() { console.log("websocket关闭失败"); //-------------------------------------- fail: function() { console.log("数据发送失败"); uni.onSocketClose(function(res){ console.log("websocket已关闭"); if (isReceive == false) { uni.hideLoading(); uni.showToast({ title: "通信失败", icon:'none' else { // uni.hideLoading(); fail: function(){ uni.hideLoading(); uni.showToast({ title: "设备初始化失败", icon:'none' // )}; uni.onSocketError(function(res) { uni.hideLoading(); console.log('WebSocket连接打开失败,请检查!'); uni.showToast({ title: "设备初始化失败", icon: "none" return false;

在connect前已经确认服务端连接成功,运行结果:
33859776
192.168.4.2
IP地址分配成功,开始通信
开始connect.........
WebSocket连接成功
WebSocket connection to 'ws://192.168.4.1:8888/' failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT
WebSocket连接打开失败,请检查!
websocket已关闭

[已删除]

回复 snail_lt : 我用的他们提供的插件weapp.socket.io,这个在h5端,小程序端和手机自定义基座上都没问题,正式打包到安卓上就不行,收不到服务器发来的消息

2020-04-07 16:08

回复 DCloud_Android_ST : let socketUrl = getApp().globalData.socketUrl;

import io from"../../js/weapp.socket.io.js";

// 接收方法

socket.on('new_msg', d => {

console.log(d);

var aPos = d.indexOf('=');

var bPos = d.indexOf(',');

var code = d.substr(aPos + 1, bPos - aPos - 1);

var index2 = d.lastIndexOf('=') + 1;

var token = d.substr(index2);

console.log(code);

console.log(token)

if(code==2000){

uni.showToast({

title:'您有新订单',

icon:'none',

duration:1500

// 调用手机震动

uni.vibrateLong({

success: function () {

console.log('手机震动');

that.isNull = true;

that.orderToken = token;

// 获取订单

that.getOrder(token);

that.countDown(that);

}else if(code==2001){

uni.navigateTo({

url:'../cancelCk/cancelCk'

// 连接失败
socket.on('reconnect_failed', () => {
uni.showToast({
title:'链接失败',
icon:'none',
duration:1500
//接收当前在线人数
// socket.on('update_online_count',d=>{
// console.log('update_online_count',d);
// })
2020-04-07 16:58

VM21 asdebug.js:1 WebSocket connection to 'wss://ks.njxkjxx.com/talk/websocket/webSocketServer.do?userToken=486a50a0ce9f466da44b24dff874f7d7' failed: Error during WebSocket handshake: Unexpected response code: 400
无法走到open里面去了。本地测试正常,线上直接这样了

2***@qq.com

回复 DCloud_Android_ST : 已经解决了,是自己的问题,我把APP端和小程序端条件编译区分开就连接成功了。之前是只在小程序端连接成功,多谢了。

2020-07-29 20:53

onSocketOpen不用写在success回调里吧,链接建立后,会一直监听的,除非app关闭

uni.connectSocket({  
  url: 'wss://www.example.com/socket'  
uni.onSocketOpen(function (res) {  
  console.log('WebSocket连接已打开!');  

官网示例也是并列的

我也出现了这个问题,但是我开始用的是微信开发者工具调试,我header里需要传个userId,后端一直接收不到
然后我换成了真机调试就可以了,header里的userId也可以正常接收到了
希望对你有帮助

Google play监测Dcloud SDK的公告;uni-ai,帮您快速引入ai能力;uni-cms,内容管理全套方案;uni安全专题、uni金融级实人认证;uts插件支持计费销售 uniCloud阿里云云存储响应头调整 【公告】阿里云uniCloud公测版已下线,欢迎使用正式版 关于iOS真机无法运行标准基座的公告 uni-app海外月活过亿,2022出海吧;uni-ad全面支持web和微信小程序;uni统计发布2.0版且全面开源