node.js - 使用socket.io在公共IP上托管服务器

时间:2016-06-30 21:01:44

标签: javascript node.js express networking socket.io

考虑服务器代码:

express = require('express');
app = express();
app.use('/', express.static(__dirname + '/'));
http = require('http').Server(app);
io = require('socket.io')(http);
...
http.listen(80);

我也试过http.listen(80, "::")

客户端代码:

socket = io();

在浏览器中输入http://[#PUBLIC_IPv6_OF_SERVER]:3000时,这会导致以下控制台错误:

ERR_NAME_NOT_RESOLVED

如何成功启用客户端通过其公共IPv6地址连接服务器?

1 个答案:

答案 0 :(得分:-1)

您需要在服务器端允许跨源请求。

var domains = "http://localhost:*";
io = require('socket.io')(http, {origins:domains});