千家信息网

ws是不是nodejs的内置模块

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,这篇文章给大家分享的是有关ws是不是nodejs的内置模块的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。ws不是nodejs的内置模块。ws是nodejs的一个WebSoc
千家信息网最后更新 2024年11月28日ws是不是nodejs的内置模块

这篇文章给大家分享的是有关ws是不是nodejs的内置模块的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

ws不是nodejs的内置模块。ws是nodejs的一个WebSocket库,可以用来创建服务,需要通过"npm install ws"命令进行安装后才可使用,因此不是nodejs内置的模块。

本教程操作环境:windows7系统、nodejs 12.19.0版,DELL G3电脑。

ws:是nodejs的一个WebSocket库,可以用来创建服务。 https://github.com/websockets/ws

nodejs使用ws模块

首先下载websocket模块,命令行输入

npm install ws

1.node.js中ws模块创建服务端(ser.js)

// 加载node上websocket模块 ws;var ws = require("ws");// 启动基于websocket的服务器,监听我们的客户端接入进来。var server = new ws.Server({        host: "127.0.0.1",        port: 6080,});// 监听接入进来的客户端事件function websocket_add_listener(client_sock) {        // close事件        client_sock.on("close", function() {                console.log("client close");        });        // error事件        client_sock.on("error", function(err) {                console.log("client error", err);        });        // end         // message 事件, data已经是根据websocket协议解码开来的原始数据;        // websocket底层有数据包的封包协议,所以,绝对不会出现粘包的情况。        // 每解一个数据包,就会触发一个message事件;        // 不会出现粘包的情况,send一次,就会把send的数据独立封包。        // 如果我们是直接基于TCP,我们要自己实现类似于websocket封包协议就可以完全达到一样的效果;        client_sock.on("message", function(data) {                console.log(data);                client_sock.send("Thank you!");        });        // end }// connection 事件, 有客户端接入进来;function on_server_client_comming (client_sock) {        console.log("client comming");        websocket_add_listener(client_sock);}server.on("connection", on_server_client_comming);// error事件,表示的我们监听错误;function on_server_listen_error(err) {}server.on("error", on_server_listen_error);// headers事件, 回给客户端的字符。function on_server_headers(data) {        // console.log(data);}server.on("headers", on_server_headers);

2.node.js中ws模块创建客户端(client.js)

var ws = require("ws");// url ws://127.0.0.1:6080// 创建了一个客户端的socket,然后让这个客户端去连接服务器的socketvar sock = new ws("ws://127.0.0.1:6080");sock.on("open", function () {        console.log("connect success !!!!");        sock.send("HelloWorld1");        sock.send("HelloWorld2");        sock.send("HelloWorld3");        sock.send("HelloWorld4");        sock.send(Buffer.alloc(10));});sock.on("error", function(err) {        console.log("error: ", err);});sock.on("close", function() {        console.log("close");});sock.on("message", function(data) {        console.log(data);});

3.网页客户端创建(使用WebApi --->WebSocket) index.html

        websocket example        

感谢各位的阅读!关于"ws是不是nodejs的内置模块"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0