Tag: socket.io

使用Node.js和Socket.IO服务静态文件

虽然我已经在SO和网上浏览了一些答案,但我没有find我想要的东西。 我也是Node.js中的一个newb,所以也许就是这个问题。 这是我有和需要启动Node和Socket.IO的代码: var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); 我接下来需要的是这样的: http.use(app.static(__dirname + "/public")); “应用程序没有方法”静态“”是我的问题。 我尝试了几个其他的组合,以获得我在网上阅读关于包括静态CSS和JS和服务HTTP服务器实例Socket.IO。 谢谢 :)

套接字IO在端口3000上共享

我运行一个节点服务器使用socket.io 0.9.16和最近重新启动我的服务器后,我得到了上述错误: { [Error: connect ECONNREFUSED] stack: 'Error: connect ECONNREFUSED\n at exports._errnoException (util.js:676:11)\n at Object.afterConnect [as oncomplete] (net.js:938:19)\n ——————–\n at Protocol._enqueue ( /var/www/node_modules/mysql-activerecord/node_modules/mysql/lib/protocol/Protocol.js:110:48)\n at Protocol.handshake (/var/www/node_modules/mysql-activerecord/node_modules/mysql/lib/protocol/Protoc ol.js:42:41)\n at Connection.connect (/var/www/node_modules/mysql-activerecord/node_modules/mysql/lib/Connection.js:98:18)\n at Connection._implyConnect (/var/www/node_modules/mysql-activerecord /node_modules/mysql/lib/Connection.js:296:10)\n at Connection.query (/var/www/node_modules/mysql-activerecord/node_modules/mysql/lib/Connection.js:154:8)\n at get (/var/www/node_modules/mysql-ac tiverecord/index.js:387:15)\n at Manager.<anonymous> (/var/www/mutual.js:101:71)\n at Manager.authorize (/var/www/node_modules/socket.io/lib/manager.js:910:31)\n at Manager.handleHandshake (/ var/www/node_modules/socket.io/lib/manager.js:786:8)\n at Manager.handleRequest (/var/www/node_modules/socket.io/lib/manager.js:593:12)', code: […]

我不必为我的socket.io应用程序指定一个用于heroku的端口?

我已经成功地做了一个testing聊天的应用程序,我已经得到了一个运行在heroku上的socket.io的节点js服务器。 在本地计算机上,我必须将客户端上的localhost端口号指定给服务器设置的端口。 但是,当我在heroku上运行我的服务器代码。 删除服务器 我使用process.env.PORTvariables,因为heroku设置: var port = process.env.PORT || 3000; http.listen(port, function(){ console.log('listening on *:' + port); }); 当然,我发现应用程序正在运行的端口号放在url中 var socket = io('https://xxxx.herokuapp.com:1111'); 但是这给了我一个“net :: ERR_CONNECTION_REFUSED”。 我通过删除URL后的端口nubmer(在这个例子中:1111)得到它的工作。 我想知道为什么这是可行的,因为大多数的教程和文章在网上有指定端口,为什么我的本地计算机需要该端口也工作。

是否有可能在不使用socket.io的情况下在节点中创build聊天应用程序

我想在nodejs中创build一个小聊天应用程序。 但是,我发现实现这个function的每一个节点都与socket.io一起使用 因为节点也是在想到推送通知的情况下创build的 如果可能,如何纯粹在节点中创build聊天应用程序? 谢谢!

将快速会话传递给socket.io

https://github.com/xpepermint/socket.io-express-session这是我尝试过的很多方法之一。 我也尝试了所有这些答案: 如何与Socket.IO 1.x和Express 4.x共享会话? 还有更多…这一切都给了我exaclty同样的结果: 抛出新的TypeError(“参数”url“必须是一个string,而不是”+ typeof url)^ TypeError:参数'url'必须是一个string,而不是undefined 我已经尝试了我在互联网上find的每一个解决scheme,基本上所有的东西都导致了我的错误。 在某些时候,我只是尝试复制和粘贴find的例子,他们给我完全一样的结果。 我猜中间件更新后会出错。 如何解决它? 有没有另一种可靠的方式与socket.io共享快速会话? var Session = require('express-session'); var session = Session({ secret: 'pass', resave: true, saveUninitialized: true }); var cookieParser = require('cookie-parser'); var express = require('express'); var app = express(); app.use(cookieParser()); app.use(session); // session support app.get('/', function (req, res) { req.session.uid = 1; […]

用socket.io命名数组

所以我正在创build一个多人游戏,我使用io.emit命令定期向客户端发送数据数组的更新。 setInterval(function(){ io.emit("sendBlocks", blocksClient); io.emit("sendMoreBlocks",test); }, 100); blocksClient是一个正常的数组。 而testing是一个命名的数组。 blocksClient = [{ posX: 0, posY: 0, solid: false }, { posX: 1, posY: 0, solid: false }, { posX: 2, posY: 0, solid: false },] test = [ block1: { posX: 1, posY: 5 }, block2: { posX: 35, posY: 42 } ] 到达客户端时,blocksClientvariables将完全正常工作。 而testingvariables在到达时将是完全空的。 […]

Node.js:哪个模块“require('..')”使用socket.io?

在https://github.com/socketio/socket.io/blob/master/test/socket.io.js 代码: 什么是要求的模块名称?

发送从服务器到客户端的自定义对象列表

我在同一个js文件中创build了一个由客户端和服务器共享的Character类。 服务器实例化这些字符并将它们存储在一个characterList对象中。 我用socket.emit( 'updated_characters', characterList )发送给客户端,但是客户端取回了Object的一个对象,而不是Character的对象,所以我不能使用我的Character的方法。 我怎样才能解决这个问题?

SSL:Heroku,Nodejs,Socketio,ReactJS

我部署到Heroku的应用程序戳 ,一切都很好,应该是实时的,但如果你看到控制台不工作,我得到这个错误 Mixed Content: The page at 'https://poke-chat.herokuapp.com/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://localhost:3000/socket.io/?EIO=3&transport=polling&t=1441366303148-19'. This request has been blocked; the content must be served over HTTPS 我不知道为什么:c 这是我的index.js import express from 'express'; import http from 'http'; import engine from 'socket.io'; import dbapi from './db-api'; const port = process.env.PORT || 3000; […]

SocketIO / NodeJS – 使用socket.emit时出错

我使用下面的代码: var app = require('http').createServer(); var io = require('socket.io')(app); app.listen(1337); io.on('connection', function (socket) { socket.emit("error", {title: 'Watch your mouth!', msg: 'Please watch your language, or go to the 18+ chat.'}); }); 我得到以下错误: 错误:未捕获,未指定的“错误”事件。 ([object object])有没有人有这样的想法?