资讯专栏INFORMATION COLUMN

NodeJs 【加强版】实现跨域WebSocket 即时通讯

AlphaGooo / 2142人阅读

摘要:原生使用起来不太方便,我们使用,它很好地封装了接口,提供了更简单灵活的接口,也对不支持的浏览器提供了向下兼容。

原生WebSocket API使用起来不太方便,我们使用Socket.io,它很好地封装了webSocket接口,提供了更简单、灵活的接口,也对不支持webSocket的浏览器提供了向下兼容。

服务端代码

根据不同客户端传来的消息存储一下 不同的对象

需要安装 npm i socket.io --save

下载 socket.io.js

nodejs 代码

const socket = require("socket.io");
const http = require("http");

// 创建服务
const server = http.createServer((req,res)=>{
    // 允许所有跨域请求
    res.setHeader("Access-Control-Allow-Origin", "*");
    req.writeHead(200,{"Content-Type":"text/html"})
    res.end("")
}).listen(8001)

let pad = null,pc = null , padReady = false , pcReady = false;

// 连接socket.io
socket.listen(server).on("connection",(conn)=>{
    conn.on("message",(str)=>{
        if(str==="Pad"){
            pad = conn;
            padReady = true;
            conn.send("连接成功");
        }
        if(str==="PC"){
            pc = conn;
            pcReady = true;
        }

        if(padReady&&pcReady){
            if(str==="PC") str="我是PC界面"
            pc.send(str);
        }
    })
    
    conn.on("disconnection",(code, reason) => {
        console.log("关闭连接")
    });
})

pad.html 代码





    
    Document
    



    
正在连接...
aaaaaaa
bbbbbbb
ccccccc

pc.html 代码





    
    Document
    



    

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/116185.html

相关文章

  • NodeJs加强实现跨域WebSocket 即时通讯

    摘要:原生使用起来不太方便,我们使用,它很好地封装了接口,提供了更简单灵活的接口,也对不支持的浏览器提供了向下兼容。 原生WebSocket API使用起来不太方便,我们使用Socket.io,它很好地封装了webSocket接口,提供了更简单、灵活的接口,也对不支持webSocket的浏览器提供了向下兼容。 服务端代码 根据不同客户端传来的消息存储一下 不同的对象 需要安装 npm i ...

    PAMPANG 评论0 收藏0
  • NodeJs加强实现跨域WebSocket 即时通讯

    摘要:原生使用起来不太方便,我们使用,它很好地封装了接口,提供了更简单灵活的接口,也对不支持的浏览器提供了向下兼容。 原生WebSocket API使用起来不太方便,我们使用Socket.io,它很好地封装了webSocket接口,提供了更简单、灵活的接口,也对不支持webSocket的浏览器提供了向下兼容。 服务端代码 根据不同客户端传来的消息存储一下 不同的对象 需要安装 npm i ...

    ivyzhang 评论0 收藏0
  • 即时通信相关技术总结

    摘要:解决问题即时通信要解决三方面的问题双全工通信低延时支持跨域各种即时通信技术轮询客户端定时向服务器发送请求,服务器接到请求后马上返回响应信息并关闭连接。优点实现真正的即时通信,而不是伪即时。 解决问题 即时通信要解决三方面的问题: 双全工通信 低延时 支持跨域 各种即时通信技术 轮询 客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接。优点:后端程序编写比...

    reclay 评论0 收藏0
  • NodeJs 实现简单WebSocket 即时通讯

    摘要:服务器的实现很简单,先装一个的模块,叫,直接在命令行中敲入回车就可以安装好了,然后就可以开始建立服务器了,因为有了模块,所以很多工作都不用我们自己做,直接调用别人封装好的方法就行了服务端代码根据客户端传来的消息判断哪个是,哪个是,保存 服务器的实现很简单,先装一个nodeJs的模块,叫nodejs-websocket , 直接在nodeJs命令行中敲入:npm install node...

    Karuru 评论0 收藏0
  • NodeJs 实现简单WebSocket 即时通讯

    摘要:服务器的实现很简单,先装一个的模块,叫,直接在命令行中敲入回车就可以安装好了,然后就可以开始建立服务器了,因为有了模块,所以很多工作都不用我们自己做,直接调用别人封装好的方法就行了服务端代码根据客户端传来的消息判断哪个是,哪个是,保存 服务器的实现很简单,先装一个nodeJs的模块,叫nodejs-websocket , 直接在nodeJs命令行中敲入:npm install node...

    lastSeries 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<