Kya*_*ngi 5 localhost node.js socket.io
我有一个使用 node.js 设置的服务器,我正在尝试使用 socket.io 连接到服务器。该服务器在 2 个月前可以正常工作,但由于某种原因它不再工作了。服务器代码如下所示:
var http = require('http');
var server = http.createServer(function (request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.end("Hello World\n");
});
var io = require('socket.io')(server);
io.sockets.on('connection', function (socket) {
console.log ('Client connected.'); });
console.log ('Server started.');
server.listen(3000, '0.0.0.0');
Run Code Online (Sandbox Code Playgroud)
在我的客户端,我正在使用这条线
socket = io.connect("http://localhost:3000");
Run Code Online (Sandbox Code Playgroud)
尝试连接到我的服务器,但它不起作用。如果我使用线路,连接工作完美
socket = io.connect("http://127.0.0.1:3000");
Run Code Online (Sandbox Code Playgroud)
如果我在浏览器上输入 localhost:3000,它会按预期将我发送到说 Hello World 的页面,与 127.0.0.1 相同,因此它仅在我使用 io.connect 时不起作用。
我尝试过的事情是:
考虑到 Web 浏览器发生的情况,localhost 似乎可以工作,但只有在我使用 socket.io 时它才不起作用。我一直无法解决这个突然出现的问题,所以如果有人能给我一些可能导致这种情况的见解,我将不胜感激。
这似乎是 IPv4/IPv6 问题。您可以尝试更改此设置:
server.listen(3000, '0.0.0.0');
Run Code Online (Sandbox Code Playgroud)
对此:
server.listen(3000, '::1');
Run Code Online (Sandbox Code Playgroud)
或这个:
server.listen(3000);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5024 次 |
| 最近记录: |