Tag: socket.io

Response.write()不返回值

我一直在关注这个教程来介绍nodejs,但是我在使用response.write()方法返回时遇到了麻烦。 我的server.js代码工作正常,当我去域:8001返回“你好世界”,但导航到域:8001 / socket.html返回一个黑屏。 我已经使用console.log来检查编写“套接字在这里”的代码。 正在执行,但我不知道为什么它没有做任何事情。 server.js: var http = require("http"); var url = require('url'); var fs = require('fs'); var server = http.createServer(function(request, response){ console.log('Connection'); var path = url.parse(request.url).pathname; console.log(__dirname); console.log(path); switch(path){ case '/': response.writeHead(200, {'Content-Type': 'text/html'}); response.write('hello world'); break; case '/socket.html': fs.readFile(__dirname + path, function(error, data){ if (error){ response.writeHead(404); response.write("opps this doesn't exist – […]

相对于客户端的服务器上的Date.now()?

这是我的情况: 我有一个客户端连接到一个服务器与Node.js,socket.io。 如果我计算服务器上的Date.now(),将其发送到客户端,然后让客户端打印从服务器收到的时间,它是自己的Date.now()我得到一个非常奇怪的结果:服务器的时间是514毫秒比客户的时间。 但是逻辑上,服务器Date.now()必须在客户端之前发生。 我不明白这里发生了什么事。 由于服务器的时区,服务器是否计算Date.now()与客户端不同? 还有其他事情发生吗?

如何获取一个Node.js socket.io clien的套接字id

当我运行我的nodeJS代码,我发现一些心跳正在为客户端socketid发射。 这里是debugging代码 – debugging – 为客户端D2ce41SGs_Rp-qiRKndU发射心跳 debugging – websocket写作2 :: debugging – 为客户端D2ce41SGs_Rp-qiRKndU设置心跳超时 debugging – 获取心跳数据包 debugging – 清除客户端D2ce41SGs_Rp-qiRKndU的心跳超时 debugging – 为客户端D2ce41SGs_Rp-qiRKndU设置心跳间隔 有什么办法来获得客户端的socket_id。 在这种情况下,它是 – > D2ce41SGs_Rp-qiRKndU

如何在Android上使用socket.io与后台服务?

我在android聊天app上使用gottox / socket.io-java-client。现在我想使用socket.io作为后台服务。在聊天应用程序中如果有新消息(当聊天应用程序closures时),发送“在聊天应用程序上的新消息,点击这里,如果你想看到。我该怎么做?我做了一个与node.js聊天的应用程序,gottox在android.But我需要这个应用程序工作作为后台服务的电话。任何插件或例子?

在flash中使用nodejs和socket io保存png图像

我需要使用node.js将图像从闪存保存到服务器。 在这里,我的代码。 var pngEncoder:PNGEncoder = new PNGEncoder(); var pngStream:ByteArray = PNGEncoder.encode(bmd); socket.send(pngStream,"image"); 这是我的Flash代码,下面是我的JS代码 var data = new Buffer(d,'binary'); fs.writeFile("image.png", data); 我的节点版本是0.10.30 Socket.io版本是0.8 请帮帮我。

在使用socket.io时获取express.js中的当前用户?

我正在使用快速框架,我的web应用程序的一部分使用socket.io启用实时聊天。 我需要获取当前用户的用户名,并在其中创build一个房间。 问题是我无法find一个方法来获取用户信息socket.on('连接')被调用时。 以下是我迄今为止的相关代码: var express = require('express'); var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; var mongoose = require('mongoose'); var session = require('express-session'); var http = require('http'); var routes = require('./routes/index'); var app = express(); var server = http.createServer(app); var io = require('socket.io')(server); server.listen(4000); app.use(session({secret : 'anything', saveUninitialized: true, resave: true})); app.use(passport.initialize()); app.use(passport.session()); mongoose.connect('mongodb://localhost/my_db'); […]

如何使用Express和Socket.IO设置Node.JS?

我试图build立一个Node.JS服务器来监听我的CentOS服务器的3800端口: var app = require('express')(); var http = require('http').Server(app); app.get('/', function(req, res){ res.send('<h1>Hello World!</h1>'); }); http.listen(3800, function(){ console.log('Listening on port: 3800'); }); 我有一个域,我在我的Apache服务器上configuration了虚拟主机的域来侦听端口80.但是,当我尝试访问 http://example.com:3800 or http://server_ip:3800 它不工作。 浏览器不断尝试连接,然后我得到了错误。 我不知道我做错了什么,因为我跟着教程。 我在这里search了其他问题,我试图将代码复制到我的index.js中,而不是任何东西。 这个简单的“Hello World”没有显示,我无法访问服务器。 我做了“node index.js”,并在我的服务器上完美地显示“侦听端口:3800”,我有root用户访问权限,我用root用户做了所有事情。 我做了“npm install express”和“npm install socket.io”命令,我试图制作package.json文件,然后“npm install”。 我search了另一个网站,我尝试了“npm install –save:express”的指示,不起作用。 我认为这是我的Linuxconfiguration的问题。 我的问题是:当我访问http://example.com:3800时如何才能使这个简单的脚本工作?

为什么我使用Socket.IO连接NodeJS服务器(Sails)到另一个NodeJS服务器(Express4)失败?

我正尝试使用socket.io-client将Node.JS(使用Sails.JS编写)应用程序连接到另一个Node.JS服务器(Express4 / Socket.io)。 我的Sails Service app/services/Watcher.js看起来像 var client = require('../../node_modules/sails/node_modules/socket.io/node_modules/socket.io-client'); // callback of the form function(socket) exports.connect = function(callback) { sails.log.debug("will connect socket to", sails.config.watcher.uri, "with Socket.io-client version", client.version); var socket = client.connect(sails.config.watcher.uri); socket.on('connect', function(){ sails.log.debug("connected"); socket.on('disconnect', function(){ sails.log.debug("Disconnected"); }); socket.on('error', function(err){ sails.log.debug("Could not connect", err); }); callback(socket); }); }; 这是从config/bootstrap.js调用,如下所示: Watcher.connect(function(socket){ sails.log.debug("Connected watcher to […]

在socket.io上捕获所有来自客户端的事件

我在我的项目上使用Socket.io 1.0,我想绑定服务器上的任何事件,如: socket.on('*') 所以我可以在我的客户端上做到这一点: socket.emit('forum.post') 服务器将调用对象“论坛”的function“发布”。 这将是我的项目有一个更好的组织。 用我在网上find的一些方法,我会这样做来覆盖socket.io函数: var onevent = socket.onevent; socket.onevent = function() { console.log('***','on',Array.prototype.slice.call(arguments)); onevent.apply(socket, arguments); }; 但是socket.on('*')永远不会被调用。

如何从另一台服务器authentication用户会话?

这是用例: 服务器A对用户进行身份validation并为用户创build一个会话。 用户想要与服务器B通信 服务器B需要在用户可以继续之前authentication用户。 我的问题: 服务器B应如何authentication用户? 注意:服务器A是一个node.js,express服务器B是socket.io专用服务器。