Javascript socket.io发出404个请求

Javascript socket.io发出404个请求,javascript,html,node.js,socket.io,Javascript,Html,Node.js,Socket.io,我在类似这样的URL上得到404:http://localhost.dev/socket.io/?EIO=3&transport=polling&t=1411749802784-54 套接字IO版本:1.x APP.JS var express = require("express"), app = express(), server = require('http').createServer(app), io = require('sock

我在类似这样的URL上得到404:
http://localhost.dev/socket.io/?EIO=3&transport=polling&t=1411749802784-54

套接字IO版本:1.x

APP.JS

    var express = require("express"),
    app     = express(),
    server  = require('http').createServer(app),
    io      = require('socket.io').listen(server),

server.listen(8080);

app.get('/', function(req,res){
    console.log('started');
});

//Receive message
io.sockets.on('connection',function(socket){
    socket.on('send message',function(data){
        //Send message out
        io.sockets.emit('new message',data);
    });
});
因此,我有我的网站,它运行在
端口80
上,nodejs运行在
端口8080
上,我包括socket.io js文件如下:
,我可以在新选项卡中打开
socket.io.js
文件,但我想这与新版本有关,我刚刚开始使用node

//乐

有人知道如何解决这个问题吗?

试试看

var socket = io.connect('http://localhost.dev:8080');

如果您在
http://localhost.dev/socket.io/?EIO=3&transport=polling&t=1411749802784-54
那么您可能无法在页面中正确添加8080端口的脚本。url不是
http://localhost.dev:8080/socket.io/
是一个很好的指示器,表明url中发生了一些奇怪的事情,而不是node/socket.io,正如您可以看到的那样,如果您查看第一个404 url,它不会在端口上发出请求
:8080
,是否仔细检查了HTML源代码(通过查看源代码或使用开发人员控制台工具进行检查)要确保浏览器正在读取的脚本标记上确实有8080?如果脚本标记上有8080,则请求应为8080。要么是这样,要么是浏览器中有插件导致其忽略端口。浏览器不会完全忽略url上的8080端口。是的,我与devtools进行了检查并查看了相关信息URCEIO.connect()的代码在哪里?看起来像什么?这就是问题所在。网页本身的加载量超过了80(默认值)但是socket.io正在监听8080。因此页面想要请求80以外的URL,但它需要使用8080。它不工作…我仍然得到404,@jfriend00节点和apache服务器位于不同的位置ports@Uffo-如果它们位于不同的端口上,则从客户端连接时必须指定端口。
io.connect()
本身连接到加载网页的端口。如果websocket服务器与加载网页的主机和端口不在同一主机和端口上,它不知道它在哪里。它们现在可以工作了,我忘记了http:I在
io.connect中使用//
var socket = io.connect('http://localhost.dev:8080');