考虑服务器代码:
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
如何成功地让客户端通过其公共(public) IPv6 地址连接到服务器?
最佳答案
您需要在服务器端允许跨源请求。
var domains = "http://localhost:*";
io = require('socket.io')(http, {origins:domains});
关于javascript - node.js - 使用 socket.io 在公共(public) IP 上托管服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38133200/