前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nodejs搭建websocket服务器

nodejs搭建websocket服务器

原创
作者头像
挥刀北上
修改2021-02-03 14:40:06
4.1K0
修改2021-02-03 14:40:06
举报
文章被收录于专栏:Node.js开发

前面我们了解了什么是websocket,下面用nodejs简单的搭建一个websocket服务器,我们使用nodejs-websocket这个npm包,看代码:

代码语言:javascript
复制
var ws = require('nodejs-websocket');
var server = ws.createServer(function(socket){
// 事件名称为text(读取字符串时,就叫做text),读取客户端传来的字符串
   var count = 1;
    socket.on('text', function(str) {
       // 在控制台输出前端传来的消息  
        console.log(str);
        //向前端回复消息
        socket.sendText('服务器端收到客户端端发来的消息了!' + count++);
    });
}).listen(3000);

阅读源码,引入nodejs-websocket赋值给ws,调用ws对象上的createServer方法,创建websocket服务器。

createServer传递的参数为一个函数,这个函数的参数是一个socket对象,通过这个对象可以可前端进行信息交互了,我们用socket监听text事件,并用sendText返回文本信息。

客户端代码:

代码语言:javascript
复制
<script>
       // 打开一个 web socket  这里端口号和上面监听的需一致
        var ws = new WebSocket('ws://localhost:3000/');
   
        // Web Socket 已连接上,使用 send() 方法发送数据
        ws.onopen = function() {
        // 这里用一个延时器模拟事件
            setInterval(function() {
                ws.send('客户端消息');
            },2000);
        }
        // 这里接受服务器端发过来的消息
        ws.onmessage = function(e) {
            console.log(e.data)
        }

</script>

客户端代码我们使用原生的websocket来实现,首先new一个websocket对象,参数为ws地址,指向我们的websocket服务器。

然后监听open事件和messge事件。

创建websocket服务器的nodejs库有不少,其原理都如上文一样,不过封装之后使用更加简便。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档