socket.io.js返回一个404

在尝试将socket.io/nodejs整合到页面中之后,我遇到了很多尝试为其设置服务器后端的问题。 通过nvm安装节点(节点版本0.12.1 ,socket.io版本1.3.5

看起来,当我尝试运行服务器(通过一个简单的node receiver.js ),我不能连接到我的index.php文件中的/socket.io/socket.io.js ,如下面提供的代码所示:

index.php (客户端)

 <!-- in html > head --> <script src="/socket.io/socket.io.js"></script> <!-- Problem here --> <script> if (typeof io === 'undefined') { console.error("Error connecting to nodejs backend! Expect some errors"); } var socket = io(); </script> <script src="/assets/js/selector.js"></script> 

receiver.js (服务器端)

 console.log('loading requirements...'); var io = require('socket.io')(80); var net = require('net'); var mysql = require('mysql2'); console.log('connecting to mysql...'); var connection = mysql.createConnection({ user: '', //removed password: '', //removed database: '', //removed stream: net.connect(3306, "codelanx.com") }); var sent = {}; console.log('listening...'); io.sockets.on('connection', function(socket) { //socket.io methods, etc... 

selector.js (客户端)

 //... jQuery(document).ready(function($) { socket.emit('requestName'); //... } 

在服务器端,所有的日志语句都打印出来(让它listening... )。 我一直在configurationrequire('socket.io')的调用行,几乎每一个可以想象的方式,但仍然不能使这个连接。 我错过了什么吗?

您需要创buildhttp服务器并将其作为parameter passing给socket.io,而是传递80作为参数:

 var server = require('http').createServer(); var io = require('socket.io')(server); io.on('connection', function(socket){ socket.on('event', function(data){}); socket.on('disconnect', function(){}); }); server.listen(80);