pomelo 客户端socket.io 服务端websocket可以吗

pomelo 客户端socket.io 服务端websocket可以吗,第1张

pomelo 客户端socketio 服务端websocket可以
2运算符丰富。共有34种。C把括号、赋值、逗号等都作为运算符处理。从而使C的运算类型极为丰富,可以实现其他高级语言难以实现的运算。
3数据结构类型丰富。
4具有结构化的控制语句。
5语法限制不太严格,程序设计自由度大。
6C语言允许直接访问物理地址,能进行位(bit) *** 作,能实现汇编语言的大部分功能,可以直接对硬件进行 *** 作。因此有人把它称为中级语言。
7生成目标代码质量高,程序执行效率高。
8与汇编语言相比,用C语言写的程序可移植性好。
但是,C语言对程序员要求也高,程序员用C写程序会感到限制少、灵活性大,功能强,但较其他高级语言在学习上要困难一些。
15 面向对象的程序设计语言

NodeJS的特点:

它是一个Javascript运行环境

依赖于Chrome V8引擎进行代码解释

事件驱动

非阻塞I/O

轻量、可伸缩,适于实时数据交互应用

单进程,单线程

NodeJS的缺点:

1 不适合CPU密集型应用;CPU密集型应用给Node带来的挑战主要是:由于JavaScript单线程的原因,如果有长时间运行的计算(比如大循环),将会导致CPU时间片不能释放,使得后续I/O无法发起;

解决方案:分解大型运算任务为多个小任务,使得运算能够适时释放,不阻塞I/O调用的发起;

2 只支持单核CPU,不能充分利用CPU

3 可靠性低,一旦代码某个环节崩溃,整个系统都崩溃

原因:单进程,单线程

解决方案:

(1)Nnigx反向代理,负载均衡,开多个进程,绑定多个端口;

(2)开多个进程监听同一个端口,使用cluster模块;

4 开源组件库质量参差不齐,更新快,向下不兼容

5 Debug不方便,错误没有stack trace

NodeJS的应用场景:

实时应用:如在线聊天,实时通知推送等等(如socketio)

分布式应用:通过高效的并行I/O使用已有的数据

工具类应用:海量的工具,小到前端压缩部署(如grunt),大到桌面图形界面应用程序

游戏类应用:游戏领域对实时和并发有很高的要求(如网易的pomelo框架)

NodeJS不适合场景:

CPU使用率较重、IO使用率较轻的应用——如视频编码、人工智能等,Nodejs的优势无法发挥简单Web应用——此类应用的特点是,流量低、物理架构简单,Nodejs无法提供像Ruby的Rails或者Python的Django这样强大的框架


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10868455.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存