Javascript Socket.io不';行不通

Javascript Socket.io不';行不通,javascript,node.js,socket.io,serverside-javascript,Javascript,Node.js,Socket.io,Serverside Javascript,这是我的server.js: var app = require('express')(); var server = require('http').Server(app).listen(8080,function(){ console.log('working'); }); var io = require('socket.io')(server); app.get('/',function(req,res){ res.sendFile(__dirname+'/index.html

这是我的server.js:

var app = require('express')();
var server = require('http').Server(app).listen(8080,function(){
 console.log('working');
  });
var io = require('socket.io')(server);

app.get('/',function(req,res){
 res.sendFile(__dirname+'/index.html');
 });

io.on('connection',function(socket){
console.log('someone connected');
});
这是我的index.html:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
<script src="node_modules/socket.io-client/socket.io.js"></script>
 <script src="http://code.jquery.com/jquery-1.11.1.js"></script>


 <script>
    var socket = io();


</script>

</body>
 </html>

var socket=io();

我想我在它的站点上做得很正确,但当我在节点上运行它并查看localhost:8080时,我在控制台中看不到“有人连接”这句话。问题在哪里,或者可能是什么?

我在服务器上设置了您的代码,但将
index.html
文件的脚本源更改为:

我可以在服务器上记录已连接的人的日志

这是从上一页的顶部示例中获取的。我猜文件路径解析必须在
socket.io
服务器源代码中的某个地方处理


另请参见:

我在服务器上设置了您的代码,但将
index.html
文件的脚本源更改为:

我可以在服务器上记录已连接的人的日志

这是从上一页的顶部示例中获取的。我猜文件路径解析必须在
socket.io
服务器源代码中的某个地方处理


另请参见:

试试这个,它对我有用

js(服务器端)

在客户端

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

    socket.on('connect', function() {
        //connect
    });

socket.emit("join", 'user1');

试试这个,它对我有用

js(服务器端)

在客户端

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

    socket.on('connect', function() {
        //connect
    });

socket.emit("join", 'user1');

您正在客户端??socket=io.connect();:)中使用
server.js
不正确。它应该是
。您没有指向文件在服务器上的位置。您使用的是socket.io为其安装路由的路径,这样它就可以从正确的位置获取文件并将其发送回客户端。您使用的是客户端中的
server.js
,socket=io.connect();:)此
不正确。它应该是
。您没有指向文件在服务器上的位置。您使用的是socket.io为其安装路由的路径,这样它就可以从正确的位置获取文件并将其服务回客户端。