提问者:小点点

NodeJS外部连接错误?


我的节点服务器+套接字客户端出现问题。我的本地主机服务器工作得很好。

但是。。。当我将socket.io客户机(节点)连接到外部服务器(例如:www.myserver.com:3000)时,它无法工作。

我没有收到任何数据。(消息变量)

这是我的示例代码:

var io = require("socket.io-client");
var requestHTTP = require("request");

  var socket = io('http://myserver.com:3000');
  var room = "game881";

  console.log('test simple socket '+room+'');

  socket.on('news', function (data) {
    console.log(data);
    socket.emit('conectado', { my: 'Conectado!' });
  });

socket.on('connect', function () {
    socket.emit('room', room);
    console.log('Conectando a ' + room);
  });

  socket.on('message', function (data) {

    var json = data.message;
    json = JSON.parse(json);
    console.log(json);

  });+

为什么不接收任何数据?

科尔斯?我已经试过了。是否使用端口?

:)谢谢!


共1个答案

匿名用户

嗯。。。我解决了我的问题。我用这个。

在node.js中使用socket.io设置服务器-服务器SSL通信

以前的答案对我来说并不合适。require('https').GlobalAgent始终>未定义。

进行了一些搜索,并在文档(https://nodejs.org/api/Tls.html)中找到了rejectUnauthorized参数。不确定它是否与SocketIO相关,但不知何故,它似乎可以与自签名证书一起工作:

var socket=IO.connect('//YourHost:8000',{secure:true,rejectunAuthorized:false})

secure:true可能是可选的,但无论如何我喜欢强制执行它。