Tag: socket.io

node.js中的头文件 – 套接口io资源解释为脚本,但是以MIMEtypes传递text / plain:

我是新来的node.js,我不明白如何工作。 我试图附加到我的项目fancybox在我的index.html,但它不起作用。 我正在使用c9.io工作区,所以它看起来像<script src="http://space…….c9.io/jquery.fancybox-1.3.4.js"></script> I仍然在控制台中得到相同的错误: socket io资源解释为脚本,但以MIMEtypes传递text / plain: 请问有没有人能解释我这个尽可能简单? 我的js文件 var http = require("http"), express = require('express'), app = express(), server = app.listen(process.env.PORT), io = require('socket.io').listen(server) app.get('/', function (req, res) { res.sendfile(__dirname + '/index.html'); }); io.sockets.on('connection', function (socket) { });

使用Node和Socket.io我想通过一个简单的数组,我什么都没有。 我错过了什么?

我跟着net tuts教程用socket和node构build了一个简单的聊天应用程序,现在我试图扩展应用程序,让人们玩我写的游戏,所以我想让人们列出可用的游戏,但我似乎无法通过从服务器到客户端的简单testing数组。 我会让代码自己说话: 相关的服务器代码: var games = ["test"]; io.sockets.on('connection', function (socket) { socket.emit('message', { message: 'welcome to the chat' }); socket.on('gameList', function (data) { io.sockets.emit("games",games); }); socket.on('send', function (data) { io.sockets.emit('message', data); }); }); 客户端: window.games = []; $("#listGames").click(function(){ socket.emit("gameList", function(data){ window.games = data; }) }) 所以我console.log游戏之前和之后的button点击,它总是只是一个空的数组,当在我的脑海,它应该包含string"test" 。 那么我哪里错了? 注意:即使教程错过了,也会在代码库中添加jQuery。

断开连接后更新客户端的用户列表

美好的一天家伙。 在这里解决我的问题。 我成功地添加了user在我的arraysusers[]在socket.io中显示连接的users在客户端。 当用户断开连接时,用户名将被删除,使用此代码delete users[socket.user]; 但是用户的名字仍然在客户端。 你能帮我取消用户名吗? 谢谢。 这是我的server.js var redis = require('redis'); var express = require('express'); var app = express(); var http = require('http'); var server = http.createServer(app); var io = require('socket.io').listen(server); server.listen(8080); var users = []; app.get('/', function (req, res) { res.sendfile(__dirname + '/test.html'); }); io.sockets.on('connection', function (socket) { socket.on('adduser', function (user) { […]

Nodejs websocket服务器,http触发器

我有一个http / websocket nodejs服务器。 我想使用访问url的动作来触发websocket发送到不同的套接字客户端。 var WebSocketServer = require('ws').Server var wss = new WebSocketServer({port: 8081}); var http = require("http"); var sys = require("sys"); var server = http.createServer(function(request,response){ response.writeHeader(200, {"Content-Type": "text/plain"}); response.write("Hello"); if (request.url == "/"){ sys.puts("hit site") wss.on('connection', function(ws){ sys.puts("sent msg"); ws.send("photo plox"); }); } response.end(); }).listen(8000); 我的websocket客户端没有收到消息,因为浏览器击中了url。 如果我没有连接客户端多次访问该站点,然后再连接客户端,则每次访问都会发送一条消息。 我怎么能使用浏览器的url访问来触发一个websocket发送?

Socket.IO:如何在同一台服务器上的socket.on()事件之间进行通信/交换数据?

我有一行代码写在一个socket.on事件,这是从客户端调用来获取数据使用callback机制。 是否有可能在两个socket.on事件之间进行通信,并在同一服务器和同一文件中使用callback来交换数据? 对于。 例如,客户端和服务器之间的正常stream量: socket.emit('init',data,function(callbackFromServer)) //from client | ^ | | server respond through callback to client V | socket.on('init',function(data, callback){/*….*/}); // to server 我想实现相同的情况,但在两个socket.on()事件之间的服务器本身之间交换数据。 即: client | ^ V | socket.on('someEvent',function(data,callback1){/*….*/}) // some.js | ^ V | // <– I want to achieve this socket.on('init',function(data,callback2){/*…..*/}) // some.js 有没有可能通过任何方法来实现这一点?

socket.io不能连接到手机浏览器

我想在我的Macbook上创build我的移动Safari和nodejs + socket.io之间的连接。 当我从我的笔记本电脑调用localhost:8080时,一切正常。 控制台说,客户端连接,我的小网站显示。 当我通过手机浏览器10.0.1.5:8080调用它时,网站也会显示,但是我的socket.io没有将手机浏览器(iPhone)识别为客户端,控制台板上也没有任何反应。 有问题的人在哪里?

将node.js-mysql结果返回给一个函数

我有两个node.js文件:server.js和database.js。 我想我的socket.io发射发生在server.js和database.js中的数据库查询。 Server.js: // init io.sockets.on('connection', function(socket) { initdb = db.initdb(); console.log(initdb) }); 我的database.js基本上包含以下代码: function query(queryString) { connection = mysql.createConnection({ host: '12.23.45.67', user: 'user', password: 'password', database: 'database' }); connection.connect(); var res = connection.query(queryString, function(err, rows, fields) { if (err) throw err; }); connection.end(); } // export initdb for external usage by server.js exports.initdb = […]

如何使用Socket.io在Node.js中添加房间?

我一直在跟进很多文章,学习使用Node.js和Socket.io进行聊天应用程序。 一切都很清晰,我可以制作一个应用程序,将消息从客户端传输到服务器,然后发送给所有人,但只有一件事情没有解决,无法弄清楚。 如何将房间添加到io.sockets.manager.room ? 什么是添加到sockets.manager房间的代码? 我发现的最简单和最彻底的文章是http://udidu.blogspot.com/2012/11/chat-evolution-nodejs-and-socketio.html但经过漫长的斗争,我仍然无法find作者添加新房间到服务器。

socket.io客户端和socket.io服务器有什么区别? socket.io的替代品?

我一直在理解socket.io究竟是什么以及它在整个客户端和服务器之间的整体持久通信中的作用。 我脑海中出现的一些基本问题是: 是node.js和socket.io服务器做同样的事情的不同方式? 像lighthttpd和Apache? 为什么我应该使用socket.io服务器,如果我有node.js? 我可以使用另一个服务器端编程语言如PHP的socket.io客户端? 有没有其他的使用socket.io客户端? 是socket.io客户端只是另一个用于websocket通信的JavaScript库? 谢谢 :)

redis pub / sub模型用于select性推送的通知系统

我正在寻找build立一个通知系统像Facebook,我的应用程序逻辑(发布者)将推动所有用户生成的通知到redis系统。 User 1 ————–> Redis (Channel : notifications) User 2 ————–> Redis (Channel : notifications) User 3 ————–> Redis (Channel : notifications) 如上所示,用户1,2,3生成的所有活动都发送到相同的通道通知。 我有一个监听redis的node.js /socket.io服务器作为这些通知的订阅者。 (订阅频道通知 ) 现在, 我如何有select地只推送某些通知给某些订阅者? 就像Facebook通知一样,我只会收到发送给我的私人邮件的通知,而不会收到发送给他人的邮件的通知。 感谢您的帮助提前。