Tag: socket.io

将客户端JS连接到服务器端的NodeJS应用程序

我是一个完整的NodeJS noob,我试图了解的应用程序结构。 我有一个使用Socket.IO和MongoJS的基本应用程序,它本质上是一个跟踪系统,从客户端脚本中提取variables并将它们存储在Mongo中。 以下是我想象的工作原理: 用户在我们的10个站点中的1个上加载页面 该页面上的JS文件捕获引用的URL和时间戳 这两个值然后通过Socket.IO传递给Node应用程序 该应用程序然后连接到MongoDB并存储值 这看起来很直接,但这里是我的困惑所在。 在所有的文档和例子中,我已经看到了与socket.io的连接已经通过一个HTML页面生活在应用程序。 在我的情况下,唯一的客户端文件是一个单一的JavaScript文件,收集的跟踪信息。 这里是我想用socket.io连接到服务器的客户端JS: $.getScript('/socket.io/socket.io.js', function(data){ console.log(data); }); var cmnPub = "Publishers.com" var socket = io.connect(document.location.href); socket.emit('adTracker', { publisher: cmnPub, time : timeStamp, referingURL : document.location.href }); 这是我的服务器端代码: var app = require('http').createServer(handler) , io = require('socket.io').listen(app) , fs = require('fs') app.listen(1337); io.configure(function () { io.set('authorization', function (handshakeData, […]

与同一服务器上运行的socket.io(节点)和apache发生CORS错误

我正在为我的网站创build一个function,让人们可以与我聊天。 为了做到这一点,我用php和apachebuild立了网站的常规部分,并且用node.js(使用socket.io和express)build立了聊天服务器。 当人们去我们的网站,有一个小酒吧,如果他们想和我聊天(在同一个窗口,而不是popup窗口)从侧面滑出。 聊天服务器正在运行,我看到客户端正在尝试连接: info – socket.io started Express server listening on port 8000 in development mode debug – client authorized info – handshake authorized 776963641537662118 它不会再进一步​​,尝试通过websockets或XHR连接,并在控制台的客户端上出现以下错误: XMLHttpRequest cannot load http://wundertutor.com:8000/socket.io/1/?t=1356208544112. Cannot use wildcard in Access-Control-Allow-Origin when credentials flag is true. 另外,我在我的.htaccess文件中有这个: <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule>

Socket.IO IPv6(2013年1月版)

我需要使用Socket.IO及其客户端通过IPv6networking连接两个Node.js服务器。 一年前, 由于客户端的地址parsing ,这似乎不可能 。 现在看来, 至less有一个人已经得到了它的工作 。 所以,我在服务器上尝试了一些简单的testing代码: var io = require('socket.io').listen(8124, '::1'); 而且,在客户端: io.connect('http://[::1]:8124'); 这失败了。 (没有错误输出,我现在正在调查,我认为这是我从winston使用的崩溃处理程序中的一个错误。) 我也注意到,如果我在Chrome浏览器中使用http://[::1]:8124/ ,我不会得到通常的“欢迎使用socket.io”debugging信息。 奇怪的是,如果我去http://127.0.0.1:8124/ ,我确实得到这个消息,尽pipe告诉服务器只侦听::1 。 从Socket.IO版本0.9.11开始,可以使用IPv6吗? 如果是这样,怎么样?

通过socket.io使用backbone.js

我试图进入node.js世界,并想build立一个简单但完整的testing应用程序来连接node.js与socket.io和backbone.js使用redis作为商店。 我发现了一些教程和一些例子。 不知何故,我只是对我必须使用的整个架构感到困惑。 通常你会用express来定义你的server.js中的所有路由。 所以你可以完全控制服务器端的路由。 现在连接骨干,你必须重新定义路线? 这似乎是一个模范的方面,但对我来说,这似乎是我不知何故不喜欢的双重工作。 所以我只是感到困惑,事情完全不同? 也许有人链接到一个很好的教程或例子,它更清晰。

让socket.io在Windows 7 x64位平台上运行

在Express 3.x上安装Windows 7 x64位环境下的socket.io包让我非常辛苦。 我不得不解决数十或编译错误,我不得不安装下面的Windows 7包安装过程输出没有错误: Cygwin C ++编译器 Cygin C ++额外库 Microsoft Visual Studio 2010 Express Microsoft .NET Framework v2.0 Microsoft性能工具包Microsoft Windows SDK 7.1 Microsoft Visual C ++ 2010 SP1编译器更新为Windows SDK 7.1。 (Visual Studio编译器给我一个警告C4267(见下文)) 尽pipe安装正确,我仍然有客户端错误: Error: io is not defined var socket = io.connect('/'); 我遵循了socket.io.js的build议,由具有app.js的nodejs服务器提供服务: var express = require('express') , http = require('http'); var […]

如何通过socket.io向多个服务器进程发送消息给各个客户端?

我即将从socket.io开始,这是一个理论上的问题,假设我想用socket.io发送一个消息给特定的用户,通常我必须存储与相关的userid的socketid,发送时,获取socketid并发送。 但是如果我有多个服务器进程运行? 我将不得不确保客户端实际连接的正确的服务器发送。 可能吗 ?

带有socket.io的nodejs中的UTF-8

我无法通过使用nodejs和socket.io将utf-8编码的string传递给客户端。 我使用的是什么传输(websocket,flashsocket或者xhr-polling)似乎并不重要。 代码非常简单明了: 服务器: var app = require('http').createServer(handler) , io = require('socket.io').listen(app,{log:false}); app.listen(80); function handler (req, res) { fs.readFile(__dirname + '/index.html','utf-8', function (err, data) { if (err) { res.writeHead(500); return res.end('Error loading index.html'); } var type="text/html"; res.writeHead(200, {'Content-Type':type + "; charset=utf-8"}); res.end(data,'utf8'); }); } io.sockets.on('connection', function (socket) { socket.emit('msg', { text: 'æøå' });//Here we send […]

socket.io.js不加载

我知道这个问题已经有很多问题了,但是没有人回答这个问题,而且我的答案略有不同。 我正在使用这个节点启动socket.io服务器: var io = require('socket.io').listen(8000); 我的terminal说一切正常: info – socket.io started 现在我正尝试使用这个URL在客户端浏览器中加载.js文件: http://<hostname>:8000/socket.io/socket.io.js 我没有得到404,它只是永远挂起。 我也使用networking实用程序来ping端口8000,似乎打开罚款。 我昨天安装了node和socket.io,所以应该是最新的版本。 任何人都可以解释这一点吗? 谢谢!

socket.io和socket.io-client有什么区别?

socket.io和socket.io-client有什么区别? 我试图使用的一些项目是使用socket.io客户端,但我习惯使用普通的旧socket.io,它不真正在文档中阐明。

socket.io路由问题与node.js表示3应用程序运行在虚拟目录与iisnode

错误: 尝试访问http://localhost/appDirectory/socket.io会给出: Cannot GET /appDirectory/socket.io 或者在尝试加载页面上的客户端文件时将其另辟蹊I我遇到此错误: GET http://localhost/appDirectory/socket.io/socket.io.js 404 (Not Found) 如果我加载客户端文件作为静态内容连接线产生这个错误: GET http://localhost/appDirectory/socket.io/1/?t=1365535131937 404 (Not Found) 服务器代码: var express = require('express'), namespace = require('express-namespace'), routes = require('./routes'), http = require('http'), app = express(), server = app.listen(process.env.PORT), io = require('socket.io').listen(server); var appDir = '/appDirectory'; app.configure(function(){ app.set('env', process.env.NODE_ENV || 'development'); app.set('/views', __dirname + '/views'); app.set('view engine', […]