Tag: socket.io

dynamic添加成员到对象

可能重复: 内部循环的Javascriptclosures – 一个简单的实例 我正在尝试做这样的事情: var obj = function(){ var members = ['a','b','c','d','e']; for(var i in members){ inst[i] = function(){ console.log(i); } } }; 但是当我这样做: var inst = new obj(); inst.a(); inst.b(); inst.c(); inst.d(); inst.e(); 它打印出e 5次! 另外,我可能会引用this而不是使用我实例化对象的名称,但是我无法完全解决这个问题。 这背后的逻辑是使用websockets来生成一个API模板客户端。 这是一个粗略的演示,基本上是相同types的东西(逻辑上),但我陷入了这个技术问题,并阻止我进步。 谢谢 编辑 让我给完整的问题。 我不想重载每个人,但这些解决scheme不工作… var SocketClient = function(config){ //platform specific stuff var self = this; […]

REST风格的Api或Socket.IO

我正在写手机应用程序。 它连接到node.js服务器并获取一些数据。 哪个是从nodejs服务器检索数据的最佳方法? 我的项目架构: mySQL DB < – > node.js(服务器)< – (socket.io或restful) – >移动客户端

如何用Socket.iodebuggingNode.js

我正在使用Google Chrome Developer Tools插件来debugging我的Node.js服务器。 这个服务器使用Socket.io来连接我的web客户端和服务器之间的websocket连接。 当我在我的服务器中设置一个断点并开始遍历代码时,问题就出现了。 客户很快就决定服务器不在了,因为不再有心跳或任何通信,所以它断开连接。 同时,当我正在逐步完成时,我的代码试图对套接字执行一些操作,然后由于套接字已closures而死亡。 试图像这样debugging有点棘手。 所以问题是,如何debugging一个像这样的服务器打开websocket连接,而不是closures连接? 我不知道有一个好的解决办法,但我想我会把它放在那里,看看有没有人有天才的想法。

node.js应用程序找不到socket.io

我在app目录(和express一起)中安装了socket.io,并在index.html文件中以这种方式链接到它: <script src="http://localhost:8080/node_modules/socket.io/lib/socket.io.js"></script> 这个请求我得到了404。 我仔细检查了链接,没有问题。 node.js应用程序在端口8080上运行,我不知道为什么它不工作 更新:显然这是与快递的东西。 当不使用它,我没有这个问题,socket.io工作正常。 这是他设置我的服务器文件: var express = require('express'), http = require('http'); var app = express(); var server = http.createServer(app); var io = require('socket.io').listen(server); app.listen(8000); 这是前端: <script src="/socket.io/socket.io.js"></script> <script src="js/vendor/jquery-1.8.3.min.js"></script> <script> var socket = io.connect('http://localhost:8000'); 另外,我把jQuery从google CDN切换到了本地,而且也没有find它

即使我在服务器上允许Cors,Socket.io也给出CORS错误

我的节点服务器和客户端运行在不同的端口(分别为3001,5347)。 在我用过的客户端上, var socket = io('http://127.0.0.1:3001'); 在服务器上,我尝试了一个接一个 1) io.set('origins', '*:*'); 2) io.set('origins', 'http://127.0.0.1:5347'); 3) io.set('origins', '*'); 4) io.set('origins', '127.0.0.1:5347'); 但是我得到以下错误: XMLHttpRequest无法加载http://127.0.0.1:3001/socket.io/?EIO=3&transport=polling&t=1456799439856-4590 。 当凭证标志为真时,通配符“*”不能在“Access-Control-Allow-Origin”头中使用。 原因'null'因此不被允许访问。 注意:我在服务器上使用快递,我已经按以下方式使用了Cors中间件: app.use(cors()); app和cors分别是express和cors的实例。

Promisify Socket.IO / EventEmitter

我有点惊讶的是,当我在Promisify Socket.IO上search时找不到多less东西。 这是不是罕见的? 我也有麻烦,自己promisify它: Promise.promisifyAll(io) io.onceAsync('connect') .then((socket) => …) .catch((err) => console.log(error)) 这总是触发错误的情况下,我假设,因为.once是一个callback只有一个参数,其中承诺希望第一个是错误。 任何想法如何处理这些事情?

套接字IO无法在公司networking内连接

我正在掌握socket.IO和nodeJS。 让我的networking应用程序与他们合作。 然后,我有一个朋友在办公室上class时尝试了一下,发现连接失败。 我build立了这两个testing用例: http://thebeer.co/labs/rt/chat.php ( 服务器JS在这里 ) – 这是一个socket.IO聊天的例子的确切副本。 http://thebeer.co/labs/rt/test.php ( 服务器JS在这里 ) 他们两个都失败了。 我也有一个朋友尝试在大学的电脑上,也没有连接! 我已经试过在监听端口号为8100,8080和81-90的节点服务器被告知较低端口号不太可能被安全networking阻塞。 真的不明白,这个实时function对大家来说是非常重要的,我做错了什么? 如何在安全的Office和大学networking中连接socket.IO?

哪个免费的服务器与node.js和socket.io?

我刚刚使用node.js和socket.io完成了一个小应用程序。 我想把它放在网上,我不知道要采取哪个服务器。 我正在寻找一个免费的。 我已经find了appfog,nodester和pusher,但是我不知道我们是否可以在socket.io中使用它们,使用起来似乎很复杂。 如果你知道一个简单的或有很好的文档logging,那将是很酷的。

数组在node.js上作为string发送

我正在做一些socket.io的实验。 我有一个canvas,成功地发送数据到服务器收到罚款。 它收到一个正确的Uint8ClampedArray,因为这是正在发送的内容。 当我然后发送这个消息从服务器到客户端,我得到一个string:[对象对象]。 我再次检查! 我错过了什么,服务器的代码如下: var fs, http, io, server; fs = require('fs'); http = require('http'); server = http.createServer(function(req, res) { return fs.readFile("" + __dirname + "/front.html", function(err, data) { res.writeHead(200, { 'Content-Type': 'text/html' }); return res.end(data, 'utf8'); }); }); server.listen(1337); io = require('socket.io').listen(server); io.sockets.on('connection', function(socket) { socket.on('publish', function(message) { return io.sockets.send(message); }); });

为什么我的AngularJS / Express / Socket.io应用程序不能提供socket.io.js文件?

我有一个Angular / NodeJS应用程序,join了一些实时function的Socket.io支持。 我想添加MongoDB和PassportJS支持,所以我已经迁移到了generator-angular-fullstack结构。 突然间,Socket.iofunction不再工作了。 我发现的一个错误是由http://localhost/socket.io/socket.io.js的Socket.io提供的客户端JS库现在返回的是我的应用程序中的index.html页面。 这听起来像一个路由问题,所以这里是我的路由configuration: lib / routes.js(NodeJS): module.exports = function(app) { // Server API Routes app.get('/api/awesomeThings', api.awesomeThings); app.post('/api/users', users.create); app.put('/api/users', users.changePassword); app.get('/api/users/me', users.me); app.get('/api/users/:id', users.show); app.post('/api/session', session.login); app.del('/api/session', session.logout); // All other routes to use Angular routing in app/scripts/app.js app.get('/partials/*', index.partials); app.get('/*', middleware.setUserCookie, index.index); app.get('/:session', function(req, res) { res.render('views/index.html', { title: 'Weld […]