【发布时间】:2015-08-11 15:24:27
【问题描述】:
我正在使用 nodejs 和 express 创建一个基本的聊天应用程序,并且在尝试初始化 socket.io 对象时收到网络 404 错误消息。
<script src="/javascripts/socket.io/socket.io.js-client"></script>
<script type="text/javascript">
var socket = io.connect();
</script>
上述代码导致某些轮询调用出现 404 错误
"NetworkError" 404 Not Found - http://localhost:3000/socket.io/?EIO=3&transport=polling&t=1432851505880-89
我需要使用以下 url 来运行轮询:http://localhost:3000/javascripts/socket.io/?EIO=3&transport=polling&t=1432851505880-89
因为我使用的是 express,但不知道如何完成。
服务器端代码:
var app = express();
var server = require( "http" ).createServer( app );
var io = require("socket.io").listen(server);
server.listen(8888);
io.sockets.on('connection', function(socket){
socket.on('send message', function(data){
io.sockets.emit('new message', data);
});
});
module.exports = app;
我已经尝试解决这个问题很长一段时间了,但没有成功。我很感激任何建议。注释掉 var socket = io.connect() 可解决该错误。感谢任何建议。
谢谢
【问题讨论】:
-
请向我们展示您的服务器端 socket.io 代码。客户端用于连接 webSocket 的 URL 是 socket.io 连接的默认 URL,因此除非您在服务器上进行了自定义操作,否则它看起来是正确的。如果你在服务器上做了一些自定义的事情,那么我们需要看看那是什么。
标签: javascript angularjs node.js socket.io