我使用socket.io网站示例中的代码并且有一些问题
我的服务器代码(在debian 192.168.5.200上)
var app = require('express')()
, server = require('http').createServer(app)
, io = require('socket.io').listen(server);
server.listen(1337);
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
我的客户端代码(index.html)
<script src="http://{host ip}:1337/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://{host ip}:1337');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
我启动节点服务器 在浏览器中打开http:// {host ip}:1337 和...在socket.io连接上得到404
它尝试获取“/ api / 1 /?t = ...”url并通过表达“无法获取/ api / 1 /?t = ...”获得404错误
请帮帮我(
答案 0 :(得分:0)
尝试将您的客户端代码更改为:
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect();
socket.on("connect", function() {
socket.on('news', function (data) {
socket.emit('my other event', { my: 'data' });
});
});
</script>
此外,为了能够转到/api/1...
,您需要注册相应的app.get
,例如为app.get("/api/*", ...
,它将处理与/api/...
的所有连接。否则,预计您将收到404错误。