Web前端开发网

fly63.com

首页 资源 工具 文章 教程 栏目
  • 在线搜索
  • 文章标签
  • 广告合作
  • 赞助一下
  • 关于我们
资源推荐
我要自学网
免费视频教程,提供全方位软件学习
扣子Coze
职场AI,就用扣子
美图设计室
AI智能一键生成海报,免费平面设计
即梦AI
一站式智能创作平台,即刻造梦
宝塔服务器面板
简单好用的服务器运维面板
Trae
字节跳动推出的 AI原生编程工具
AI提示词商城
AI提示词交易与管理平台,提升效率
蜂小推
不扣量的项目推广平台
茅茅虫
茅茅虫AI论文写作助手,AIGC论文查重
堆友AI
零门槛,多风格AI绘画免费生成,电商海报设计神器

资源分类

AI智能 酷站推荐 招聘/兼职 框架/库 模块/管理 移动端UI框架 Web-UI框架 Js插件 Jquery插件 CSS相关 IDE环境 在线工具 图形动效 游戏框架 node相关 调试/测试 在线学习 社区/论坛 博客/团队 前端素材 图标/图库 建站资源 设计/灵感 IT资讯
网站收录 / 问题反馈

faye-websocket

分享
复制链接
新浪微博
QQ 好友

扫一扫分享

GitHub:https://github.com/faye/faye-websocket-node
网站描述:Node.js 应用程序中命令预先存在的 WebSocket 连接
GitHub

Faye WebSocket是从 Faye 项目中提取出来的,它是一个多用途的 WebSocket,它可以很容易地在 Node.js 应用程序中命令预先存在的 WebSocket 连接。

Faye WebSocket 仅提供标准的 WebSocket api 和在 Node.js 中构建 WebSocket 客户端和服务器所需的类。它不提供服务器本身或提供任何其他抽象。

要安装Faye WebSocket,请运行 npm install faye-WebSocket。Faye项目的README部分提供了入门的必要文档。

安装

npm install faye-websocket

在 Node 中处理 WebSocket 连接

您可以通过侦听 HTTP 升级请求并为请求创建新套接字来处理服务器端的 WebSocket。例如,这是您实现回显服务器的方式:

var WebSocket = require('faye-websocket'),
http = require('http');

var server = http.createServer();

server.on('upgrade', function(request, socket, body) {
if (WebSocket.isWebSocket(request)) {
var ws = new WebSocket(request, socket, body);

ws.on('message', function(event) {
ws.send(event.data);
});

ws.on('close', function(event) {
console.log('close', event.code, event.reason);
ws = null;
});
}
});

server.listen(8000);

WebSocket对象也是双工流,因此您可以将该 ws.on('message', ...)行替换为:

ws.pipe(ws);

请注意,在某些情况下(特别是通过 HTTP 代理连接的 Draft-76 客户端),WebSocket 握手在您调用后不会完成,new WebSocket()因为服务器尚未收到来自客户端的整个握手。在这种情况下,调用ws.send()将在内存中缓冲消息,直到握手完成,此时任何缓冲的消息都将发送到客户端。

如果需要检测 WebSocket 握手何时完成,可以使用 onopen事件。

如果连接的协议版本支持,可以调用ws.ping()发送ping消息,等待客户端响应。此方法接受一个消息字符串,以及一个在收到匹配的 pong 消息时触发的可选回调。true当且仅当发送了 ping 消息时,它才会返回。如果客户端不支持 ping/pong,则此方法不发送数据并返回 false.

ws.ping('Mic check, one, two', function() {
// fires when pong is received
});



仅供个人学习参考/导航指引使用,具体请以第三方网站说明为准,本站不提供任何专业建议。如果地址失效或描述有误,请联系站长反馈~感谢您的理解与支持!

链接: https://fly63.com/nav/3610

更多»
热门资源
node
一个基于 Chrome V8 引擎的 JavaScript 运行环境
官网
GitHub
Express
基于 Node.js 平台,快速、开放、极简的 web 开发框架
官网
GitHub
pm2
pm2 是一个带有负载均衡功能的Node应用的进程管理器
官网
GitHub
Koa
基于 Node.js 平台的下一代 web 开发框架
官网
GitHub
Egg.js
为企业级框架和应用而生
官网
GitHub
Primus
通用包装器实时框架
点击进入
GitHub
Electrode
一个用于构建通用 React / Node.js 应用程序的平台
点击进入
GitHub
faye-websocket
Node.js 应用程序中命令预先存在的 WebSocket 连接
点击进入
GitHub
vm2
一个Node.js 官方 vm 库的替代品
点击进入
GitHub
node-opencv
node视觉算法库
官网
GitHub
node-xml2js
Json与xml相互转化的工具
点击进入
GitHub
node-red
一套开源可视化界面开发工具
官网
GitHub
类似于faye-websocket的资源
Notif.me
一个用于发送通知的Node.js库
官网
GitHub
Mean.js
一种全栈 Javascript 开发架构
官网
GitHub
node-formidable
一个Node.jsform数据解析模块
点击进入
GitHub
DropIt
一个用nodejs构建的文件上传器
官网
GitHub
node-crawler
一款最好的node.js爬虫工具
官网
GitHub
Horizon
由RethinkDB团队开发的一款开源实时后端框架
官网
GitHub
Signale
一个 Node 的日志格式库
点击进入
GitHub
jsdom
用于在node中解析html
官网
GitHub
目录

手机扫一扫预览

》
分享组件加载中...
首页 技术导航 在线工具 技术文章 教程资源 前端标签 AI工具集 前端库/框架 实用工具箱 广告合作 关于我们

Copyright © 2018 Web前端开发网提供免费在线工具、编程学习资源(教程/框架/库),内容以学习参考为主,助您解决各类实际问题,快速提升专业能力。