【问题标题】:I'm unable to connect to socket我无法连接到套接字
【发布时间】:2015-11-20 08:52:54
【问题描述】:

我正在尝试连接到套接字。但是我没有在控制台上获得套接字 ID。这是连接到套接字的正确方法吗?谁能给我建议...

我的代码:

var app = express();
var dir =  process.cwd();
app.use(express.static(dir)); //app public directory
app.use(express.static(__dirname)); //module directory
var server =require('http').createServer(app);
var io = require('socket.io')(server);



io.of('/socket_issue').on('connection', function (socket) {
        console.log("Socket connected :"+socket.id);
 socket.emit('news', { hello: 'world' });
    });

客户端代码:

var socket = io('http://localhost:8085/socket_issue');
  socket.on('connect', function(){ console.log('connected to socket'); });
  socket.on('error', function(e){ console.log('error' + e); });

socket.on( 'news', function( data ){
console.log(data);

});
  socket.on('disconnect', function(){});

【问题讨论】:

  • 您是如何尝试连接到套接字的?我所看到的只是服务器端。
  • 我编辑了我的客户端代码

标签: node.js socket.io


【解决方案1】:

您的后端代码中似乎没有server.listen()。 我已经编辑了服务器代码并且它运行正常:

var app = require('express')();
var dir =  process.cwd();
var server =require('http').createServer(app);
var io = require('socket.io')(server);

server.listen(8080);

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


io.of('/socket_issue').on('connection', function (socket) {
        console.log("Socket connected :"+socket.id);
 socket.emit('news', { hello: 'world' });
});

不要忘记更改前端的端口,它会按预期工作:

Socket connected :Y7zi7dLRxqBA5nakAAAA

【讨论】:

  • 能否请您推荐学习node.js的最佳方法,因为我是node.js的新手
  • 边做边学。谷歌搜索了很多东西,你会找到一切。
猜你喜欢
  • 2018-03-12
  • 2011-10-03
  • 2011-12-07
  • 2018-02-07
  • 1970-01-01
  • 2013-05-24
  • 1970-01-01
  • 1970-01-01
  • 2014-03-01
相关资源
最近更新 更多