socket现在用的还是很多的,在一些直播间内。所以下面就说一说js连接socket的方法。
先定义一些方法:以下是代码注释很详细,可以多看看注释
initWebSocket方法----在你想要什么时候链接的时候调用就行了!
这个是没有封装的原始代码,有兴趣的可以封装一下。文章来源:https://www.toymoban.com/news/detail-510297.html
// websocket初始化
initWebSocket() {
// 这里是new一个socket实例。后面填写socket服务器地址,应该都有端口号的。还可以传其他的参数,具体的可以搜一下socket初始化的一些参数。
this.websocket = new WebSocket(this.$Url.ChatWebSocket);
// 连接错误
this.websocket.onerror = this.setErrorMessage;
// 连接成功
this.websocket.onopen = this.setOnopenMessage;
// 收到消息的回调
this.websocket.onmessage = this.screenMsg;
// 连接关闭的回调
this.websocket.onclose = this.setOncloseMessage;
// 监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
window.onbeforeunload = this.onbeforeunload;
},
// 监听窗口关闭事件
onbeforeunload() {
this.websocket.close();
},
// socket连接失败回调
setErrorMessage(res) {
console.log('连接失败', res);
this.socketclose = true;
},
// socket连接成功回调
setOnopenMessage(res) {
this.socketclose = false;
console.log('websocket连接已打开');
// socket链接成功后在发送登录socket的验证方式。当然你们的socket不需要登录的话,下面登录可以删掉。
let data = {
type: 'login',
user_id: this.uid,
room_id: this.room_id
};
this.websocket.send(JSON.stringify(data));
},
// scoket关闭回调
setOncloseMessage(res) {
console.log('连接已关闭');
// this.socketclose = true;
},
//接收socket信息
screenMsg(res) {
// socket返回的数据是JSON格式的需要转换一下。
var datas = JSON.parse(res.data)
}
给socket发送消息的方式就是上面那个,scoket链接成功回调里面-登录的方式,按照你们后台的需要的type进行交互。socket主动给你发的消息会出现在 接收消息回调的function里面。可以打印一下解析后的datas。进行接收消息后的操作!文章来源地址https://www.toymoban.com/news/detail-510297.html
到了这里,关于socket连接方法,socket使用方法。js连接socket的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!