NodeJS多种创建WebSocket监听的⽅式(三种)WebSocket是HTML5开始提供的⼀种浏览器与服务器间进⾏全双⼯通讯的⽹络技术。在WebSocket API中,浏览器和服务器
只需要要做⼀个握⼿(handshaking)的动作,然后,浏览器和服务器之间就形成了⼀条快速通道。两者之间就直接可以数据互相传送。
WebSocket是⼀个通信的协议,分为服务器和客户端。服务器放在后台,保持与客户端的长连接,完成双⽅通信的任务。客户端⼀般都是实现在⽀持HTML5浏览器核⼼中,通过提供JavascriptAPI使⽤⽹页可以建⽴websocket连接。Java实现的案例,请参考:
为什么⽤Nodejs?
1. 事件驱动,通过闭包很容易实现客户端的⽣命活期。
2. 不⽤担⼼多线程,锁,并⾏计算的问题
3. V8引擎速度⾮常快
4. 对于游戏来说,写⼀遍游戏逻辑代码,前端后端通⽤。
当然Nodejs也有⼀些缺点:
1. nodejs更新很快,可能会出现版本联兼容
2. nodejs还不算成熟,还没有⼤制作。
3. nodejs不像其他的服务器,对于不同的连接,不⽀持进程和线程操作。
在权衡Nodejs给我们带来⽆限畅快的开发的同时,要考虑到他的不成熟,特别是对于“长连接”的⽹络通信应⽤。下⾯我将分别,测试⼀下⽹上⼏种Nodejs实现websocket的框架。
下⾯通过三种⽅式给⼤家介绍nodejs创建WebSocket监听的⽅式,具体内容如下所⽰:
第⼀种,nodejs原⽣⾃带的
//引⽤net库的⽅式
const net = require('net');
const server = ateServer((socket)=>{
<("connect",(data)=>{
console.log("connect");
})
});
server.listen("8111","127.0.0.1")
第⼆种:
//js的原⽣⽅式
const WebSocketServer = require("ws").Server;
前端websocket怎么用var ws = new WebSocketServer({ host: webConfig.ip, port: webConfig.port })
<('connection', function (socket) {
<("close", function () {
console.log("server close");
});
<("error", function (err) {
console.log("server error " + err);
});
<("message", function (cmd, data) {
console.log("server rcv data=" + cmd);
socket.send(data);
});
});
第三种:
//使⽤外部socket.io库的⽅式
const io = require('socket.io')(webConfig.port);
('connection', function (socket) {
<('getSysConf', function (data) {
console.log("get sys config ");
});
});
总结
到此这篇关于NodeJS多种创建WebSocket监听的⽅式的⽂章就介绍到这了,更多相关nodejs创建WebSocket监听内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论