1. 更新package库
> apt-get update
2. 安装nodejs
> sudo apt-get install nodejs
3. 因为npm需要访问目录/usr/bin/node下的配置文件,但是nodejs的配置文件又是安装到/usr/bin/nodejs,所以我们这里需要对这两个文件做一个映射。
不映射的话,有时候在查看npm版本时,会报:/usr/bin/env:node No such file or directory的错误
> ln -s /usr/bin/nodejs /usr/bin/node
4. 安装npm
> sudo apt-get install npm
5. 安装websocket-bench
> sudo npm install -g websocket-bench
6. 若需要修改socket.io协议,位置在./usr/local/lib/node_modules/websocket-bench/lib/workers/socketioworker.js第18行
将:
var client = io.connect(this.server, { 'force new connection' : true});
修改为:
var client = io.connect(this.server, { 'force new connection' : true,'transports': ['websocket', 'polling']});
7. 自定义generator.js
/*global module, require*/
/*var logger = require('opt.log');*/
module.exports = {
/**
* Before connection (just for faye)
* @param {client} client connection
*/
beforeConnect : function (client) {
},
/**
* on socket io connect
* @param {client} client connection
* @param {done} callback function(err) {}
*/
onConnect : function (client, done) {
var sid;
client.on("message",function(message,ackServerCallback){
if (ackServerCallback) {
// send ack data to push server
ackServerCallback(message);
}
console.log("Channel:"+message.channel + "---Content: "+ message.content)
});
client.emit('authorize', {"appkey":"43cbbd30-1753-4fdb-8e45-57d86dde378f","userId":"75115","xueting":"","startMillis":1470729381064,"artifactVersion":"0.7"},function(data){
sid = data.sid;
client.emit('subscribe',{"channel":"demo_channel","sid":sid});
});
//done();
},
/**
* send a message
* @param {client} client connection
* @param {done} callback function(err) {}
*/
sendMessage : function (client, done) {
//logger.error('Not implement method sendMessage in generator');
// Your logic
//client.emit('test', { hello: 'world' });
//client.publish('/test', { hello: 'world' });
done();
}
};
8. 运行websocket-bench
> websocket-bench -a 10 -g ./generator.js localhost:9000
分享到:
相关推荐
websocket-extensions提供了一个用于注册扩展插件的容器,并提供了通过Sec-WebSocket-Extensions标头协商在会话期间使用哪些扩展所需的所有功能。 通过实现本文档中定义的API,基于此框架的任何WebSocket库都可以...
如果命令长时间执行不成功,手工执行安装包。重启后在此运行启动
承诺的websocket 一个客户端库,带有用于浏览器和Node.js的基于的API。 例 import WebSocketAsPromised from 'websocket-as-promised' ; ... await wsp ....npm i websocket-as-promised --save 浏览
如果满足以下条件,它将在安装软件包时安装: 除非使用选项,否则我们不在CI中运行。 根项目有一个.git目录。 选项未使用。 CLI用法 也可以通过运行提供的二进制文件( npm-merge-driver-install ) npm-merge-...
npm-remote-ls, 在安装包图之前检查它的依赖关系 npm-remote-ls 在安装包图之前检查它的依赖关系。安装npm install npm-remote-ls -g用法列出软件包依赖项npm-remote-ls sha@1.2.4└
npm-cli-login 允许您不使用STDIN,STDOUT登录到NPM。 在CI构建系统等地方使用。 还可以在〜/ .npmrc文件中创建/修改条目以进行身份验证。 安装 npm install -g npm-cli-login 使用-g标志通过CLI使用npm-cli-...
json | npm-audit-html默认情况下,报告将保存到npm-audit.html 如果要指定输出文件,请添加--output选项: npm audit --json | npm-audit-html --output report.html 您还可以通过提供--template选项以及您
npm-dts-webpack-plugin 该WebPack插件为整个NPM软件包生成单个index.d.ts文件。 它允许创建捆绑的NPM库软件包,而无需使用TypeScript源,并且无论这些库被导入到哪里,都仍然保留代码建议。 TypeScript自动获取...
Solarwinds-Orion-NPM-12.1-OfflineInstaller 官方原版下载,链接为官方地址,请注意试用期限.
由于测试时所有 client 都在本机, 而当前稳定版 nginx(1.6.2) 负载均衡算法不包含generic hash, 按 ip_hash 分配会导致所有请求都发到同一个后端节点, 所以需要安装upsteam-hash-module, 按 hash($remote_addr.$...
NPM部队决议 该软件包修改package-lock.json,以强制安装特定版本的传递依赖关系(依赖关系的依赖关系),类似... 然后将npm-force-resolutions添加到预安装脚本中,以便在您每次npm install之前修补package-lock文件:
安装 npm install --save universal-websocket-client用法 var WebSocket = require('universal-websocket-client');\\ ... use the [WebSocket client interface]...
npm-run-path 让预先安装本地安装的二进制文件 在您可以按名称执行本地安装的二进制文件。 这样可以启用相同的外部npm。 安装 $ npm install npm-run-path 用法 const childProcess = require ( 'child_process' ...
vue-native-websocket· Vuejs 2和Vuex的本地websocket实现安装yarn add vue-native-websocket# ornpm install vue-native-websocket --save用法配置通过URL字符串自动进行套接字连接import VueNativeSock from 'vue...
在16年的时候因为项目接触到websocket,而后对心跳重连做了一次总结,写了篇博客,而后18年对之前github上的demo代码进行了再次开发和开源,最终封装成库。如下: github: ...
npm i --g npm-dependency-checker 用法 运行此命令 ndc application_root_path是必填参数。 它应该与package.json所在的路径相同。 ndc也支持相对路径,例如ndc . 在当前文件夹中运行ndc。 配置 该软件包基于另...
ubuntu ubuntu_安装npm
cli实用程序,以安全的方式执行npm安装,以便在安装后重新链接本地链接的模块 入门 这些说明将使您在本地计算机上启动并运行该项目的副本。 先决条件 node >= 8.4.0 正在安装 通过运行以下命令全局安装npm-safe-...
NPM模块同步 使全局NPM软件包在计算机之间保持同步。 TL; DR尽管NVM等使您可以使软件包在多个版本之间保持同步,但是,如果您在...随后在您的合成机上运行npm-sync dl以下载当前的全局软件包列表 注意:第1步仅需在要
安装$ npm install --save npm-pick-manifest 目录例子const pickManifest = require ( 'npm-pick-manifest' )fetch ( 'https://registry.npmjs.org/npm-pick-manifest' ) . then ( res => { return res . json ( )}...