Web前端开发网

fly63.com

首页 资源 工具 文章 教程 栏目
  • 关于我们
  • 网站投稿
  • 赞助一下
搜索

在线工具_工作生活好帮手

打造各种简单、易用、便捷的在线工具,网友无需注册和下载安装即可使用

点击查看

资源分类

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

more>>
相关栏目
Express
基于 Node.js 平台,快速、开放、极简的 web 开发框架
官网 GitHub
pm2
pm2 是一个带有负载均衡功能的Node应用的进程管理器
官网 GitHub
Koa
基于 Node.js 平台的下一代 web 开发框架
官网 GitHub
Egg.js
为企业级框架和应用而生
官网 GitHub
Primus
通用包装器实时框架
点击进入 GitHub
Electrode
一个用于构建通用 React / Node.js 应用程序的平台
点击进入 GitHub
vm2
一个Node.js 官方 vm 库的替代品
点击进入 GitHub
node-opencv
node视觉算法库
官网 GitHub
node-xml2js
Json与xml相互转化的工具
点击进入 GitHub
node-red
一套开源可视化界面开发工具
官网 GitHub
polemo
网易开源的游戏后端框架
点击进入 GitHub
AdonisJs
一款类似laravel的node.js框架
官网 GitHub
GitBook
基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书。
官网
nodebestpractices
NodeJS最佳实践
官网 GitHub
Inquirer.js
NodeJs交互式命令行工具
点击进入 GitHub
Dotenv
从 .env文件 加载用于nodejs项目的环境变量
点击进入 GitHub
首页 技术导航 在线工具 技术文章 教程资源 AI工具集 前端库/框架 实用工具箱

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

手机预览