// 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版且全面开源