Tag: websocket

端口34037已经在使用Heroku + Nodejs + Express + WebSockets

我试过了我能find的所有东西,但是我无法让我的部署工作。 我不断收到'应用程序错误',虽然应用程序运行在我的http:// localserver:5000似乎问题是在bin / www 这是我在Heroku中得到的错误日志。 我想这个问题是“ 端口34037已经在使用 ” pp[web.1]: > tubka@0.0.0 start /app 2015-02-04T09:29:03.327577+00:00 app[web.1]: > node ./bin/www 2015-02-04T09:29:03.327578+00:00 app[web.1]: 2015-02-04T09:29:03.695715+00:00 app[web.1]: http server listening on 34037 2015-02-04T09:29:03.761305+00:00 app[web.1]: npm ERR! You can get their info via: 2015-02-04T09:29:03.744365+00:00 app[web.1]: Port 34037 is already in use 2015-02-04T09:29:03.761400+00:00 app[web.1]: npm ERR! npm owner ls tubka 2015-02-04T09:29:03.759922+00:00 […]

如何提高nodejs / socket的IO性能?

我已经build立了一个小游戏的服务器。 客户端以一定的时间间隔向服务器发送移动数据。 服务器也会以一定的时间间隔向客户端发送关于其他玩家的数据。 如果我添加更多的球员,performance会变得更糟。 我现在如何改善performance? 发送单个属性而不是对象会提高速度吗? 我可以通过使用更大的间隔来创build更稳定的性能吗? 或者你有其他的想法? 有没有一个debugging工具来检查哪些服务器操作减慢服务器下来?

REST API聊天 – 用于实时获取消息的端点

我有一个由express + mongodb支持的REST API服务器。 有几个端点具有不同的资源。 其中之一是聊天API。 我已经有了几个基本的端点: POST http://api.example.com/v1/chat – 创build聊天 POST http://api.example.com/v1/chat/:id/message – 发送消息到现有的聊天 GET http://api.example.com/v1/chat/:id/messages – 在指定的聊天中获取消息 但是我需要为API消费者提供一种方式, 在不重新加载页面的情况下实时有效地获取新消息。 就目前而言,您可能只是从客户端轮询GET端点,但似乎不是高性能的。 例如,客户端可以具有将在头部显示新消息的UI(某种通知)的UI 。 我正在考虑websockets。 是否有可能例如提供像/chat/:id/subscribe这样的端点来代理套接字的服务器并在客户端连接到它? 有没有这样的APIdevise的一些很好的例子,我可以从中得到灵感,或者你可以给我一个build议? 谢谢!

用nock模拟一个开放的networking套接字

我正在尝试使用nock对Oanda交易API编写的代码进行反向testing。 为此,我需要模拟stream媒体价格API(请参阅http://developer.oanda.com/rest-practice/streaming/上的stream媒体stream量)。 但是,看起来nock只能让你回复一个单一的回复,即使回应是一个stream。 有没有办法将数以千计的价格事件stream作为个人对单个请求的回应? var scopeStream = nock('https://stream-fxpractice.oanda.com') .persist() .filteringPath(function(path) { return '/stream'; }) .get('/stream') .reply(function(uri, requestBody) { return [200, {"tick":{"instrument":"AUD_CAD","time":"2014-01-30T20:47:08.066398Z","bid":0.98114,"ask":0.98139}}] })

BrowserQuest中的websocket-serverreplace

我试图让Mozilla的BrowserQuest启动并运行,并遇到了问题。 这取决于websocket-server节点包,不幸的是,它已被弃用,并从npm库中删除。 我已经添加了ws和node-websocket-server包,但是这两个包似乎都不是对现有的websocket-server调用的简单replace。 之前的一个SOpost中,我看到用package.json文件replace了websocket-server和node-websocket-server ,但是在BrowserQuest代码库中存在对websocket-server直接调用。 我也尝试直接更新server/js/ws.js文件,如下所示(添加节点到websocket-server字段): var cls = require("./lib/class"), url = require('url'), wsserver = require("node-websocket-server"), miksagoConnection = require('node-websocket-server/lib/ws/connection'), worlizeRequest = require('websocket').request, http = require('http'), Utils = require('./utils'), _ = require('underscore'), BISON = require('bison'), WS = {}, useBison = false; 这导致以下错误: /homenode/browserquest/BrowserQuest/server/js/map.js:15 path.exists(filepath, function(exists) { ^ TypeError: undefined is not a function at module.exports.cls.Class.extend.init (/home/node/browserquest/BrowserQuest/server/js/map.js:15:11) […]

WAV到Blob在nodejs

我不知道如何从节点中的wav文件创build一个blob。 我是否像这样使用缓冲区? var blippityBlob = new Buffer(filePathToWave);

Socket.io将数组传递给客户端

我试图将一个名为“用户名”的数组传递给客户端。 以下是服务器端的代码: var usernames = {}; var numUsers = 0; socket.on('online users', function () { io.emit('connected_users', { name: usernames, total: numUsers }); }); 这是客户站点: var online=[] var onlineNum=0; function headcount(){ socket.emit('online users'); } socket.on('connected_users', function (data){ onlineNum=data.total; for(i=0; i<onlineNum; i++){ online[i]=data.name[i]; alert(data.name[i]);} }); 警报只是“未定义”。 我究竟做错了什么?

是否有一个基于浏览器的Websocket侦听器实现?

我很想知道是否有人为浏览器构build了一个javascript websocket监听器。 基本上是在客户端运行的websocket的服务器端。 这将允许消息直接发送到客户端。 为什么? 因为不是在客户端/浏览器上或附近有一个Node.js,python,java等服务器进程,所以我可以在浏览器中使用一个线程作为监听服务器线程。 我不认为目前有任何浏览器支持。 我跑过这样的答案: https : //news.ycombinator.com/item?id = 2316132 只是好奇,如果有人做到了这一点。 我相信当前的Websockets规范不支持浏览器上的侦听器。 这将使部署各种点对点应用程序更容易部署。

我应该使用REST API还是使用地理位置应用程序的Socket.io?

我需要跟踪移动的汽车。 我应该每次更改位置后发送位置,并通过套接字发送它? 或者应该创build一个REST API并且发布位置(从被跟踪的设备)并且每10秒钟检查一次(跟踪器设备),无论位置是否改变? (该应用程序正在与React Native合作)

Socket.io使用默认命名空间与一些自定义名称,不工作

我试图使用默认命名空间'\'来连接一般的android应用程序套接字与Socket.io,但我想为自定义命名空间的网站像'/网站,但是当客户端与io.connect('/networking')它连接到默认的命名空间。 basically i want authorization of all, but not for /web namespace. here is my code io.sockets.on('connection', function (socket, next) { //some handshaking data to varify connection } io.of('/web').on('connection', function(socket, next) { //HERE i want to SKIP verification } but I got request on default instead of /web.