全双工通讯WebSocket

TCP 全双工通讯协议
即时通信
场景: 聊天、消息系统、游戏
web: 消息通知、大屏项目的数据更新、商家推荐
实现:
1.握手 客户端连接服务端(认识一下)
let client = new WebSocket(“ws://localhost:3000”);

2.建立连接之后 互发消息
发送
client.send(“hello”)//向服务端发送信息
client.send(JSON.stringify({
to:“123”,
msg:“hello”
}))

接收
client.addEventListener(“message”,({data})=>{
console.log(data);
})

3.连接关闭
client.addEventListener(“open”,()=>{
console.log(“连接成功”)
})
client.addEventListener(“close”,()=>{
console.log(“断开连接”)
})
客户端主动断开连接
client.close();
server.js
var webSocket = require(“ws”);

// 创建socket服务
var wss = new webSocket.Server({ port: 5000 });

// var clients=[];
// 监听客户端连接事件
wss.on(“connection”, function (client) {
// 向客户端发送信息
client.send(“服务端已连接”);

// 接收客户端消息
client.on(“message”, function (msg) {
// console.log(e.data);
client.send(“接收到你发的消息:” + msg);
});

setInterval(function () {
client.send(Date.now());
}, 1000);

// 监听客户端关闭连接操作
client.on(“close”, function () {
console.log(“客户端关闭连接”);
});
});

server02.js
var webSocket = require(“ws”);

// 创建socket服务
var wss = new webSocket.Server({ port: 5001 });

// var clients=[];
// 监听客户端连接事件
wss.on(“connection”, function (client) {
client.on(“message”, function (data) {
// 群发 广播
// wss.clients所有的客户端对象
wss.clients.forEach(function (item) {
item.send(data);
});
});
});

/*
{
type:“login”
}

{
    type:"room",
    roomId:"1",
    msg:"hello"
}
{
    type:"person",
    to:"张三",
    msg:"hello"
}

*/

基本使用.html

Document

广播.html

Document 连接 断开
发送

    发布广播.html

    Document 发布

    普通用户.html

    Document
    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 打赏
      打赏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

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

    余额充值