将socket.io连接到不同的地址
我正在开发一个Django系统,它有一个使用socket.io构build的聊天工具。
今天,我试图让webfaction的一切,所以我注册到http://example.com的django部分和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/')
来build立连接
在服务器上我写了这个:
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地址是不可能的,因为它将来可能会改变。
我在这里做错了什么?
谢谢
您必须在客户端上设置path
选项:
io('http://example.com', {path: '/chat/socket.io'});
这是因为socket.io客户端默认尝试连接到/socket.io
,但在您的情况下,它被托pipe在/chat
,因此您必须更改socket.io连接选项的设置。
- Django:使用Redis PubSub,Node.js和Socket.io的JSON通知
- django < – >应用程序服务器(node.js)之间的通信方法?
- 在Django和Backbone.js中使用Node.js
- 在快速应用程序内部制作多个应用程序
- 如何使用Django身份validation在Node应用程序中对用户进行身份validation?
- 面料:Python作为???:Javascript
- 数据库更改时,Heroku部署的Django网页不会更新
- JWT身份validation:使用UI令牌来validation石墨烯/ Django(GraphQL)查询?
- 返回语句后无法访问的代码Angular Material在index.html中链接时失败