Tag: socket.io

Express memory.js bug,@ 3.4.8

有时当我重新加载页面时,服务器正在给出这个错误。 当我重新启动服务器,它的工作,但一段时间后,再次给同样的错误。 我只在会话中存储user_id 。 另外我正在使用Express.Io Project/node_modules/express.io/node_modules/express/node_modules/connect/lib/middleware/session/memory.js:46 expires = 'string' == typeof sess.cookie.expires ^ TypeError: Cannot read property 'expires' of undefined at Project/node_modules/express.io/node_modules/express/node_modules/connect/lib/middleware/session/memory.js:46:47 at process._tickCallback (node.js:419:13) App.js app.configure(function() { app.use(express.logger('dev')); app.use(express.cookieParser()); app.use(express.session({ secret: 'donkey', cookie: { maxAge: 12 * 3600000 // 12 hours }})); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); }); Express版本: 3.4.8连接版本: 2.12 ../middleware/session/memory.js 同样的问题: https […]

如何让先进的rest客户端使用socket.io

我正在尝试使用高级rest客户端(一个Chrome扩展/应用程序)与socket.io,但它不连接到我的NodeJS socket.io服务器。 问题可能是我不能使用ws:// localhost,必须先使用另一个协议? 不过,我知道socket.io支持WebSocket协议。 或者也许有专门为socket.io ..的另一个扩展或应用程序? 任何帮助是极大的赞赏。

如何从socket.io 1.2迁移到socket.io 0.9.16?

我有这个代码写在Socket.io 1.2中 var app=require('express')(); var http=require('http').Server(app); var io=require('socket.io')(http); var room; var messageEmitted;; app.get('/', function(req, res){ res.sendFile(__dirname +'/index.html'); }); app.get('/lol', function(req, res){ res.sendFile(__dirname +'/lol.html'); }); io.use(function(socket,next){ var handShakeData=socket.request; room=handShakeData._query['roomName']; messageEmitted=handShakeData._query['messageText']; next(); }); io.on('connection',function(socket){ console.log('A user connnected on : '+room); socket.join(room); io.to(room).emit('emittedMessages',messageEmitted); console.log(messageEmitted); /*socket.on('emittedMessages',function(msg){ //socket.emit(msg); // Send message to sender socket.broadcast.emit(msg); // Send message to everyone BUT […]

Socket.IO连接错误

我有一个应用程序在node.js与socket.io。 一切都运行完好,但突然间浏览器开始发送这个错误。 失败:连接build立错误:net :: ERR_TUNNEL_CONNECTION_FAILED 我没有做任何代码更改。 socket使用的协议是ws://当我尝试在浏览器中使用这个URL时 'WS://highgarden-nodejs-91180.sae1.nitrousbox.com/socket.io/ EIO = 3&运输=网页套接字&SID = T9Unec8KbWw-GAL8AAAF' Chrome返回这个错误: 无法加载资源:net :: ERR_DISALLOWED_URL_SCHEME 这是套接字设置代码的一部分: server.js: var app = express(); var server = http.createServer(app); var io = require('socket.io').listen(server); var port = process.env.PORT || 3000 *——————————————* // routes === var routes = require('./config/routes.js'); var sock = {} routes(app, passport, sock); io.sockets.on('connection', sock.update); // […]

一个socket.io实例中有多个ChatRooms / Channels

我是nodejs-expressjs-socket.io的新手。 我正试图在socket.io的一个运行实例中实现多个聊天室/频道。 服务器: var express = require('express'); var app = express(); var server = require('http').createServer(app); var io = require('socket.io')(server); app.set('port', process.env.PORT || 3000); app.use(express.static(__dirname + '/public')); app.get('/', function(req, res){ res.sendfile(__dirname + '/public/client.html'); }); io.sockets.on('connection', function(socket){ socket.on('auth-user', function(ud){ }); socket.on('join-room', function(ud){ console.log('User ' + ud.usr + ' joins in channel ' + ud.cid); socket.join(ud.cid); io.sockets.to(ud.cid).emit('update-ui',{usr:'Server', msgtype:'notification', […]

如何使用socket.io与MEAN栈中的AngularJS进行通信

在一个MEAN应用程序上工作。 有angular度在前面,它工作正常。 快递在后面工作也很好。 我来到需要依靠mongoose来处理MongoDB的东西。 最终,我想加载在我的db中的数据在前端使用Angular列表中的数据。 我听说socket.io对于这样的事情是有好处的,而且它似乎应该很容易使用。 我发现这个回购,我一直在尝试过去的几个小时,使其工作: https : //github.com/btford/angular-socket-io 不幸的是,README对于如何正确使用这个工具非常稀less,而且这些问题也没有帮助。 问题:我根本无法使用socket.emit()或socket.on()或socket.io应该做的任何奇妙的事情进行通信。 在我的terminal只是一个伤心的闪烁的光标。 server.js var port = 8080; io = require('socket.io'); http = require('http'); server = http.createServer(app); io = io.listen(server); server.listen(port); io.on('connection', function (socket) { socket.on('send:garbage',function (data) { console.log('omg it finally worked'); }); }); 调节器 angular.module('MyCtrl',[]).controller('MyController',function($scope,mySocket) { // triggered by a button press (prints fine […]

Node.js – Socket.io – 将请求与响应关联

我正在尝试通过使用Node.js中的networking包,通过TCP / IP与我的源测量单元进行通信。 没问题连接到仪器并运行查询。 不过,我试图得到一个请求和它的响应之间的联系。 例如,假设我想测量并从仪器中提取一些电stream。 我会喜欢 socket.on('data', function( data ) { console.log( data.toString( 'utf8' ) ); }); socket.write("print( smua.measure.i() );\r\n", 'utf8'); // This will directly print the response into the socket 哪个工作正常。 但是,无法知道输出是否来自特定的查询,因为它们都是asynchronous的。 我可以采用什么解决scheme? 在GPIB协议中(如果我得到了正确的答案)我查询仪器(或sockets…)的响应,这使得事情变得更容易,因为它都是顺序的。 但是,我怎么能在TCP中做到这一点? 提前致谢 !

移动应用程序中的套接字认

我想知道如何正确validation用户使用套接字和cordova。 目前,发生以下情况: 用户使用正常的ajax命令注册或login,发送email和password 我发回一个访问令牌和他们的电子邮件,这是存储在localstorage存储在localstorage上,并作为email => accesstoken在redis 然后用户发送一个连接请求到socket.io服务器,就像( 客户端 ): var socket = io('http://192.168.50.3:8080/'); socket.on('connect', function(){ socket.emit('init', { email: 'email@email.com', token: '12ueno1' }); }); 然后,我检查后端,如果访问令牌和电子邮件在我的Redis服务器,如果他们是,我开始监听客户端发送的任何命令( 服务器端 ): var io = require('socket.io').listen(8080), mongoose = require('mongoose'), schema = mongoose.Schema, userModel = require('./models/user'), lobbyModel = require('./models/lobby'), redis = require('redis').createClient(); io.sockets.on('connection', function(socket){ socket.on('init', function(data){ // here, we check for an […]

安装socket.io返回(node-gyp rebuild 2> builderror.log)|| (出口0)

当运行命令sudo npm install socket.io我得到以下输出。 > ws@0.4.31 install /Users/xafar/Documents/projects/node/chat/node_modules/socket.io/node_modules/engine.io/node_modules/ws > (node-gyp rebuild 2> builderror.log) || (exit 0) CXX(target) Release/obj.target/bufferutil/src/bufferutil.o SOLINK_MODULE(target) Release/bufferutil.node SOLINK_MODULE(target) Release/bufferutil.node: Finished CXX(target) Release/obj.target/validation/src/validation.o SOLINK_MODULE(target) Release/validation.node SOLINK_MODULE(target) Release/validation.node: Finished > ws@0.4.31 install /Users/xafar/Documents/projects/node/chat/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws > (node-gyp rebuild 2> builderror.log) || (exit 0) CXX(target) Release/obj.target/bufferutil/src/bufferutil.o SOLINK_MODULE(target) Release/bufferutil.node SOLINK_MODULE(target) Release/bufferutil.node: Finished CXX(target) Release/obj.target/validation/src/validation.o SOLINK_MODULE(target) Release/validation.node SOLINK_MODULE(target) Release/validation.node: […]

Node.js,socket.io和IIS 7

我想知道是否有可能在IIS 7中使用iisnode托pipenode.js socket.io应用程序? 我已经读过,WebSockets只支持在IIS 8中,但是我也读过,可能是这样,所以我有点困惑。 谢谢!