我正在开发一个django系统,它在chat中构建了一个用socket.io构建的系统。
今天,我试着把所有的东西都放到网站上,所以我把django部件注册到http://example.com,节点/套接字部分注册到http://example.com/chat。
我已经设法将socket.io.js
提供给浏览器,但是连接不起作用。客户端试图连接到http://example.com而不是http://example.com/chat,因此我得到了以下错误:
Failed to load resource: the server responded with a status of 404 (Not Found)
http://example.com/socket.io/?EIO=3&transport=polling&t=1421523295233-0
在客户端,我编写了这个var socket = io.connect('http://example.com/chat/')
来建立连接
我在服务器上写到:
var express = require('express');
var app = express()
var http = require('http');
var server = http.createServer(app).listen(20964, "127.0.0.1");
var io = require('socket.io')(server);
使用服务器IP地址是不可能的,因为将来可能会发生变化。
我在这里做错什么了?
谢谢
发布于 2015-01-17 14:57:47
必须在客户端上设置path
选项:
io('http://example.com', {path: '/chat/socket.io'});
这是因为socket.io客户端默认尝试连接到/socket.io
,但在您的示例中,它是托管在/chat
下的,因此您必须用该选项更改socket.io连接的位置设置。
https://stackoverflow.com/questions/28003577
复制