Articles of socket.io

socket.io.js返回一个404

在尝试将socket.io/nodejs整合到页面中之后,我遇到了很多尝试为其设置服务器后端的问题。 通过nvm安装节点(节点版本0.12.1 ,socket.io版本1.3.5 ) 看起来,当我尝试运行服务器(通过一个简单的node receiver.js ),我不能连接到我的index.php文件中的/socket.io/socket.io.js ,如下面提供的代码所示: index.php (客户端) <!– in html > head –> <script src="/socket.io/socket.io.js"></script> <!– Problem here –> <script> if (typeof io === 'undefined') { console.error("Error connecting to nodejs backend! Expect some errors"); } var socket = io(); </script> <script src="/assets/js/selector.js"></script> receiver.js (服务器端) console.log('loading requirements…'); var io = require('socket.io')(80); var net […]

无法使用nodeJS在html中设置Image src

我在nodeJS上是新的,我无法在我的客户端html中设置img标签的src。 因为我的节点服务器运行在端口3000上,当我打到http:// localhost:3000时, 下面是我的server.js文件的代码 var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); app.get('/', function (req, res) { res.sendFile('/var/www/UI-Test/client.html'); }); io.on('connection', function (socket) { console.log('user joined '); }); http.listen(3000, function () { console.log('listening on *:3000'); }); 下面给出了client.html的代码 <html> <body> <img src="f1.png" /> <!– also tried "./f1.png" –> <script> var socket = io(); […]

根据客户端POST表单的开关切换套接字

在我们的数据处理API控制器中,根据客户端填写或未填写 POST FORM的POST FIELDS,我们有CASE SWITCH套接字。 问题是:什么是最简单的方法来确定正确的CASE根据张贴字段。 假设我们在客户端POST FORM上有六个不同的字段 计算总共64个的所有可能性 在Sails中,我们正在寻找最有效的方式来标记每个组合 ,以便切换大小写,然后在API控制器中路由每个组合 。

node.js socket.io无法发送到特定的客户端

我发现了一些这样的参考,但实际上没有直接的帮助。 另外根据一些研究,这是向特定客户端发送消息的正确方式。 我有: io.sockets.socket(players[i].id).emit('deal_card', { // etc }); 我得到这个错误: Missing error handler on 'socket'.TypeError: Object #<Namespace> has no method 'socket' 有任何想法吗?

我可以在socket.io的命名空间中使用房间吗?

我想知道是否可以在socket.io中使用多个房间。 据我所知,你可以使用命名空间或房间。 我的目的是通过只有一个node.js-socket.io-server的websockets,让我的应用程序有多个独特的实例与这个独特的应用程序交谈。 有了这个应用程序,就有要求彼此交谈。 在一个房间或全球范围内。 没有必要与另一个命名空间交谈。 提前致谢, 丹尼尔

Express – 如何在路由文件中使用io.socket.emit?

我有一个快递(nodeJS)的应用程序。 当在DB上写入一些数据时,要发出io.socket,所以需要在路由文件(例如/routes/save.js)中发出, 这是我的app.js var express = require('express'); var save = require('./routes/save'); var http = require('http'); var app = express(); var server = require('http').Server(app); var io = require('socket.io')(server); …… io.on('connection', function(socket){ socket.on('newTweet', function(msg){ io.emit('newTweet', msg); }); }); app.use('/save', save); ….. module.exports = app; server.listen(3000, function () { var host = server.address().address var port = server.address().port }) […]

使用Node.js和Socket.IO单击jQuery函数

我已经创build了一个简单的聊天应用程序推荐(工作正常),但我很难找出如何启动与Socket.IO跨networking套接字的jQueryfunction。 例如,我有一个button来点击: <button id="button"> Click me! </button> 我希望我的button在被点击时执行一个函数: $("button").click(function() { doSomething(); }); 这里是我在客户端的一个例子 var socket = io.connect('http://localhost:3000'); function doSomething() { $('body').css({ background: "red" }); } 这是我在服务器端(我的server.js文件) – 我认为这可能导致部分问题: var io = require('socket.io'), connect = require ('connect'); var app = connect().use(connect.static('public')).listen(3000); var commands = io.listen(app); commands.sockets.on('connection', function (socket){ // Possibly insert handler here? }); 以防万一我不明确的目的 – […]

如何使用Sockets.io + Node.js服务器获取客户端IPv4地址(而非IPv6)

我想要获取使用Socket.io版本1.3.5连接我的Node.js服务器的客户端的IPv4 IP地址。 我尝试了大多数在SO中build议的方式,但大部分都是或不赞成,或者他们返回一个IPv6地址。 唯一返回一些价值的是 socket.request.connection.remoteAddress 但它是IPv6格式。 任何获得IPv4地址的方法?

socketio中`socket.broadcast.to(param)`的目的是什么?

在我学习Node.js时,我遇到了一个编写聊天系统的例子。 代码中的某处有以下行: socket.broadcast .to(message.room) .emit('message', theMessage); 我不明白这个function在做什么。 另外,我在客户端代码中找不到任何线索。 如果代码没有to(message.room)部分,会发生什么?

客户端连接两次到服务器,Socket.io

我正在尝试使用passport.socketio将socket.io连接到passport.js来loginlogin用户的用户名。 它是成功的,但它logging了用户名两次,并试图寻找相当长的时间后,我卡住了。 代码部分如下: 服务器代码: var server = http.createServer(app); var io = require('socket.io')(server); io.use(passportSocketIo.authorize({ cookieParser: cookieParser, // the same middleware you registred in express key: 'connect.sid', // the name of the cookie where express stores its session_id secret: 'hello', // the session_secret to parse the cookie store: new (require("connect-mongo")(Esession))({ url: "mongodb://localhost/local" }), // we NEED to […]