websocket的执行顺序&&socket.io的用法

1、php和vue(unipp)socket的执行顺序

第一次创建连接的时候

1、第一步:客户端创建socket链接(connnect)

在这里插入图片描述

第二步: 服务端接收服务端申请连接的请求(onConnect),发送自定义信息给客户端

使用Gateway::sendToClient发送信息给客户端

在这里插入图片描述

第三步:(上面过程相当于已经建立好连接),然后客户端使用onMessage来处理服务端发送的数据

在这里插入图片描述

第四步:然后客户端就可以向服务端发送数据了,第一次客户端向服务端发送数据的方法是onSocketOpen

在这里插入图片描述

注意接下来客户端发送数据给服务端的操作就是用另外的函数来处理了

创建好连接之后

1、客户端向服务端发送请求的方式就变成了sendMessage

在这里插入图片描述

2、服务端接收到请求并处理的方法变成了onMessage

在这里插入图片描述

接下来如果服务端还想向客户端发送数据的话就是用:
使用Gateway::sendToClient发送信息给客户端,否则就是客户端单向向服务端传输数据了

2、js中socket.io的写法[ emit发送,on接收(监听) ]

2.1 服务端向客户端发送数据(emit)

// io绑定事件 connection建立连接 断开链接 disconnected
io.on('connect',function(socket){   
	
	//服务端的逻辑都写在这里
})  ====> onConnect

//服务端发送消息(data为发送的数据)
io.emit('用于接收的标识',data)          ====> Gateway::sendToAll     //io.emit 代表向所有人发送信息 
socket.emit('用于接收的标识',data)	     =====> Gateway::sendToClient //socket.emit 代表向当前这个人发送信息 
例: io.emit('login',user)
	||
	|| 
	\/
//(初始化后)客户端接收数据(根据emit第一个参数的标识来对应触发)
const socket = io();   // 调用io方法传入服务器端地址返回socket对象,如果不写就代表是当前服务器地址(要写)
socket.on('login', function (user) {}) 

2.2 客户端发送数据给服务端

//客户端初始化()
const socket = io(); // 调用io方法传入服务器端地址返回socket对象,如果不写就代表是当前服务器地址(要写)
this.socket = socket;

//客户端向服务端发送数据
socket.emit('用于接收的标识',data);
	||
	||
	\/
//服务端接收客户端发送的数据
socket.on('用于接收的标识',function(data){
	//data:从客户端接收到的数据
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值