【问题标题】:express, socket.io server for browser client and node.js clientexpress,用于浏览器客户端和 node.js 客户端的 socket.io 服务器
【发布时间】:2015-10-21 05:04:30
【问题描述】:

我正在尝试使用 socket.io 设置一个快速服务器,它将允许 node.js 客户端和浏览器客户端连接。浏览器连接没有问题。使用 socket.io-client 的 node.js 客户端报错: unhandled socket.io url

服务器:

var express = require('express'),
    io = require('socket.io');

var app = express();
var host = 'localhost';
var port = process.env.PORT || 8080;

var server = app.listen(port, function() {
    console.log('Gulp is starting my app on PORT: ' + port)
});
io = io.listen(server);

app.use('/', express.static(__dirname + '/'));

io.on("connection", function(socket) {

    socket.on('clientMessage', function(jsonData, from) {
        socket.emit('serverMessage', 'Got a message!');
        console.log('Data being sent from', from, 'is:\n' + jsonData);
    });
});

客户:

var io = require('socket.io-client')

var socket = io.connect('http://192.168.1.222:8080', {reconnect: true});

socket.emit('clientMessage', 'Hello', 'Pi-Voyager');

【问题讨论】:

  • 我测试了你的代码,它运行良好。
  • 行为是什么?它告诉我 Unhandled socket.io url。

标签: node.js express socket.io


【解决方案1】:

问题在于我需要依赖项的方式。它适用于其他版本,但在我当前的版本上却没有。

node -v
v0.12.4

"express": "^4.13.1",
"socket.io": "^1.3.6",
"socket.io-client": "^1.3.6"

使用这些版本,以下代码可以工作:

服务器

var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);

var port = process.env.PORT || 8080;

server.listen(port, function() {
    console.log('Gulp is starting my app on PORT: ' + port)
});

app.get('/', function (req, res) {
  res.sendFile(__dirname + '/index.html');
});

io.on("connection", function(socket) {

    socket.on('clientMessage', function(jsonData, from) {
        socket.emit('serverMessage', 'Got a message!');
        console.log('Data being sent from', from, 'is:\n' + jsonData);
    });

});

客户

var io = require('socket.io-client')

var socket = io.connect('http://10.1.0.47:8080', {reconnect: true});

socket.emit('clientMessage', 'Hello', 'Pi-Voyager');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-29
    • 2020-04-07
    • 2013-10-30
    • 2019-03-31
    • 2018-03-04
    • 2017-01-07
    • 2016-05-08
    • 1970-01-01
    相关资源
    最近更新 更多