好的,所以我让我的socket.io服务器在不同的端口上侦听,但为了使它与https一起工作,我需要让它听不到传入一个端口(默认)。 (它工作正常在不同的端口加载与http,但我需要它在https上工作)socket.io.js 404(使用Apache到主机站点)
我的项目工作正常,客户端可以连接并发送数据罚款。但是,我将该网站移到了我的主域,该域具有SSL证书。该网站通过https加载所有内容,因此无法加载http版本socket.io.js
但是,现在我已将它切换到var client = require("socket.io").listen().sockets;
而不是侦听不同的/特定的端口,但它仍然无法工作。不是给我一个连接错误,它根本不包括文件。
我的恐惧是,我最终需要重建我的整个网站,以通过node.js托管我的文件,我宁愿不必这样做。
我没有使用任何其他模块比mysql-node
和socket.io
,并且我也希望,如果能够保持这种方式。我是node.js的新手,所以我很抱歉,如果有一个明显的答案,我不知道。
但是,我环顾四周,似乎无法在任何地方找到答案。或者,至少有一个明确的答案。
我会更好使用websockets
而不是socket.io
? 如果是这样,我该如何去做这件事?诚实地说,我更愿意重建我的节点应用程序,而不是重新制作我的网站。
我,包括客户端的socket.io.js文件像这样:
<script src="https://mysite/socket-io/socket.io.js"></script>
但当然,404因为它不是一个实际的文件,该文件是我的Apache服务器上。在我的public_html
目录中没有名为socket-io
的文件夹/目录,所以对我来说很有意义。
但是,我怎么能得到这个工作?我需要通过node.js托管我的文件还是使用HTML5 websockets更好?我的网站用户使用移动设备的人数相当多,所以我必须确定它也适用于移动设备。
为什么你使用两个独立的web服务器(Apache和node.js)来创建你的网站?你如何建立架构?您是否尝试使用Apache服务器或node.js服务器来提供socket.io.js文件? – jfriend00