首页 » Web前端 » phpwebsocket壅塞技巧_WebSocket根本讲解2

phpwebsocket壅塞技巧_WebSocket根本讲解2

访客 2024-11-28 0

扫一扫用手机浏览

文章目录 [+]

本篇文章紧张讲解如何在做事端利用websocket。
如果在做事端利用websocket,那就须要利用Node.js,就须要安装nodejs-websocket。
也可以参考前面的文章进行学习:

WebSocket根本讲解(1)

phpwebsocket壅塞技巧_WebSocket根本讲解2

nodejs入门的学习教程:

phpwebsocket壅塞技巧_WebSocket根本讲解2
(图片来自网络侵删)

https://www.runoob.com/nodejs/nodejs-tutorial.html

1.NodeJs简述

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 利用了一个事宜驱动、非壅塞式 I/O 的模型。

Node 是一个让 JavaScript 运行在做事真个开拓平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等做事端措辞不相上下的脚本措辞。
发布于2009年5月,由Ryan Dahl开拓,本色是对Chrome V8引擎进行了封装。

Node对一些分外用例进行优化,供应替代的API,使得V8在非浏览器环境下运行得更好。
V8引擎实行Javascript的速率非常快,性能非常好。
Node是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建相应速率快、易于扩展的网络运用。
Node 利用事宜驱动, 非壅塞I/O 模型而得以轻量和高效,非常适宜在分布式设备上运行数据密集型的实时运用。

普通点说,node.js便是运行在做事真个JavaScript。

官网界面如下:

nodejs官网地址:

https://www.npmjs.com/package/nodejs-websocket

官网界面如下:

更详细的学习,可以参考官网,官网给出的还是比较学习。

2.安装NodeJs在做事器端

(1)在指定的工程目录,实行如下命令:

sudo npm init

or

如果不想利用Enter键,利用如下命令:

sudo npm init -y

实行目录为这样,链接如下:

实行过程的界面如下:

把稳:如果须要要输入字符的,那就一贯输入回车键就行了。

这样终极会天生这个文件,如下:

看看package.json是什么内容,实行如下命令:

cat package.json

package.json内容如下界面:

1.1 安装nodejs-websocket

安装nodejs-websocket,在以下路径:

(1)实行如下命令:

sudo npm install nodejs-websocket

实行过程如下:

这样就会把websocket干系的组件下载到node_modules。
下载后会天生node_modules和package-lock.jaon。

cd node_modules

cd nodejs-websocket/

如果对这些感兴趣,可以去看看每个文件。

2.Node的优点

Node作为一个新兴的前端框架,后台措辞,有很多吸引人的地方:

RESTful API

单线程

Node可以在不新增额外线程的情形下,依然可以对任务进行并发处理 —— Node.js是单线程的。
它通过事宜循环(event loop)来实现并发操作,对此,我们该当要充分利用这一点 —— 尽可能的避免壅塞操作,取而代之,多利用非壅塞操作。

非壅塞IO

V8虚拟机

事宜驱动

3.NodeJs的Module

Node利用Module模块去划分不同的功能,以简化运用的开拓。
Modules模块有点像C++措辞中的类库。
每一个Node的类库都包含了十分丰富的各种函数,比如http模块就包含了和http功能干系的很多函数,可以帮助开拓者很随意马虎地比拟如http,tcp/udp等进行操作,还可以很随意马虎的创建http和tcp/udp的做事器。

要在程序中利用模块是十分方便的,只须要如下:

在这里,引入了http类库,并且对http类库的引用存放在http变量中了。
这个时候,Node会在我们运用中搜索是否存在node_modules的目录,并且搜索这个目录中是否存在http的模块。
如果Node.js找不到这个目录,则会到全局模块缓存中去探求,用户可以通过相对或者绝对路径,指定模块的位置,比如:

var myModule = require('./myModule.js');

模块中包含了很多功能代码片断,在模块中的代码大部分都是私有的,意思是在模块中定义的函数方法和变量,都只能在同一个模块中被调用。
当然,可以将某些方法和变量暴露到模块外,这个时候可以利用exports工具去实现。

参考链接,如下地址:

https://baike.baidu.com/item/node.js/7567977?fromtitle=nodejs&fromid=11244313&fr=aladdin

NodeJs官方网站链接如下:

https://www.npmjs.com/package/nodejs-websocket

官网界面如下:

4.NodeJs主要关注点

对付刚打仗NodeJs,紧张关注一些比较主要的点就可以了(须要关注一系列的回调函数),如下:

(1)若何创建websocket做事器,通过createServer和listen接口。

(2)若何判断有新的连接过来,createServer的回调函数做判断。

(3)若何判断关闭事宜,通过on("close", callback) 事宜的回调函数。

(4)若何判断吸收到数据,通过on("text",callback)事宜的回调函数。

(5)若何判断吸收非常,通过on("error",callback)事宜的回调函数。

(9)若何主动发送数据,调用sendText。

参考的示例代码如下:

var ws = require("nodejs‐websocket") // Scream server example: "hi" ‐> "HI!!!" var server = ws.createServer(function (conn) { console.log("New connection") conn.on("text", function (str) { // 收到数据的相应 console.log("Received "+str) conn.sendText(str.toUpperCase()+"!!!") // 发送 }) conn.on("close", function (code, reason) { // 关闭时的相应 console.log("Connection closed") }) conn.on("error", function (err) { // 出错 console.log("error:" + err); }); }).listen(8001)

由上可以知道,依赖回调函数实现,须要去实现回调函数。

5.总结

本篇文章紧张是讲解在做事端NodeJS的安装和主要函数的讲解。
欢迎关注,转发,点赞,收藏。

关于项目有关的知识,欢迎关注微信公众号"记录天下 from antonio"

标签:

相关文章

QQ伪装黑客代码大全技术与风险警示

网络安全问题日益凸显。QQ作为一种流行的社交工具,成为了黑客攻击的主要目标之一。本文将针对QQ伪装黑客代码大全进行深入剖析,揭示其...

Web前端 2025-03-02 阅读1 评论0