微信小程序websocket和php通信

微信小程序websocket和php通信,第1张

普通弄过nginx或者apache运行php的cgi、mod_php模式是不适合作为socket服务端的,你需要使用cli模式运行(就是直接在shell里面执行php serverphp)

可以使用Workerman框架或者swoole扩展来开发,推荐使用Workerman更简单,socket *** 作都封装好了,至于这两个东西网上资料比较多,你可以查一下

1、本小程序需要支持Android和iOS双平台,采用微信小程序开发平台进行开发。

2、本小程序的技术要求包括微信小程序的html、css、js、json、xml等技术,还需要以小程序框架为基础,使用微信开发者工具实现小程序开发。

3、本小程序需要使用WebSocket技术实现实时通信,以实现连接前端和后台服务器的通信,以实现小程序的实时数据更新。

4、本小程序需要使用微信官方提供的认证授权服务,以实现用户账号登录和授权验证,保证用户账号的安全。

5、本小程序需要使用微信小程序的云开发服务,实现界面的实时更新,以及后台的数据管理和数据存储功能。

6、本小程序需要使用微信小程序的支付功能,实现小程序的支付宝和微信支付功能,以便用户完成支付。

小程序的websocket协议是wss的,可以理解为ws+ssl,刚上线的时候只能够开一个websocket的入口,针对于单纯的聊天应用或者简单的交互应用是足够的,但如果有玩游戏的同时又要聊天,那么一个websocket就显然不够了,后来新增了一个sockettask,在使用小程序主websocket的同时,还可以使用sockettask新开websocket链接,相当于多开了个线程去通信。

更多具体的使用方法,可以参考微信小程序官方发布的开发文档。

简单描述一下多端通信,目前我使用的是websocket。

服务端我用C#做的winform,Fleck技术很成熟,服务端开启,客户端连接服务端,请求服务,websocket就支持多端通信的哦,你用android或者web或者其他平台都可以连接websocket的服务。向服务端发送消息,服务端就会分配消息。

1对1聊天这种事情是你想多了,现在真的没有人干这事,双方通过三次握手一个socket拨通协议的事情是不协和的,因为你不能随心所欲切换用户,而且每一次都要响应。所以我们是主动去连接服务器,从而都达到1对1,1对多,多对一的目的,可以聊天也可以把消息转换成指令。指令有哪些比如远程 *** 作,分享上传下载之类的。服务器接收到客户端的消息,指定目标客户端发送离线消息也可以。

对于域名和服务器的选择上,要看微信小程序制作方是否硬性需要进行绑定开发,如果没有规定绑定开发的话可以自主选择域名和服务器,像这个在阿里云或iisp都是有相关服务的。

具体方法:

先在utils文件夹粘贴一个io的js

然后 npm install wxapp-socket-io

config文件夹下新建一个socketjs,对socket连接进行封装,如下:

const io = require('/utils/iojs')

let url = 'wss://'

let wsStatus = false

let onSocket = null

export const connect = function(cb){

if(!onSocket){

onSocket = io(url)

onSocketon('connect', function (res) {

cb(true,onSocket)

wsStatus = true

})

setTimeout(function(){

if(!wsStatus){

cb(false,onSocket)

}

},10000)

}else{

cb(true,onSocket)

}

}

在要引用的页面调用,全局封装订阅方法

let openSocket = require('//config/socket')

let app = getApp()

let socket = null

Page({

data: {

zl: [[422, 400, 468, 834, 785, 446, 845, 517, 630, 797, 890, 529, 553, 425, 469, 470, 837, 841, 521, 525], [422, 400, 468, 834, 785, 446, 845, 517, 630, 797, 890, 529, 553, 425, 469, 470, 837, 841, 521, 525]]

},onLoad: function () {

let that = this;

//socket调用

openSocketconnect(function (status, ws) {

if (status) {

socket = ws            thissubscribe('zl')//对封装好对订阅方法进行调用

socketon('broadcast', function (msg) {//广播

consolelog("broadcast");

consolelog(msg);

})

} else {

alert("socket 连接失败")

}

});

},subscribe: function (type) {

if (socket) {

let eis = thisdata[type]

if (eis && eislength > 0) {

let param = {//仅供参考,根据接口自行更改

eis: eisjoin(',')

}

socketemit('subscribe', JSONstringify(param));

}

}

}});

注:创建一个 WebSocket 连接;一个微信小程序同时只能有一个 WebSocket 连接,如果当前已存在一个 WebSocket 连接,会自动关闭该连接,并重新创建一个 WebSocket 连接。

以上就是关于微信小程序websocket和php通信全部的内容,包括:微信小程序websocket和php通信、小贩摊位预约小程序技术要求、微信小程序 websocket sockettask等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9693101.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存