RT,网上给的所有的引入socket.io的方法都是<script src="/socket.io/socket.io.js"></script>
,但是我在自己用express生成的项目中用同样的方法引入失败,一直是404,我感觉问题可能是出在express默认渲染页面是render
的,其他demo的都是用res.sendFile
方法返回页面,会是这个问题吗?该怎么解决?
RT,网上给的所有的引入socket.io的方法都是<script src="/socket.io/socket.io.js"></script>
,但是我在自己用express生成的项目中用同样的方法引入失败,一直是404,我感觉问题可能是出在express默认渲染页面是render
的,其他demo的都是用res.sendFile
方法返回页面,会是这个问题吗?该怎么解决?
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
其实这个
/socket.io/socket.io.js
是socket.io服务器端以HTTP方式提供的静态文件。而在服务器端,socket.io和Express绑定了同样的端口。所以,在静态页面中,可以直接用这个方式来请求服务器上的文件。估计你的Express和socket.io没有监听同一个端口,所以会出现这个问题。
当然,另外的方法是,你直接以HTTP方式请求socket.io服务器所在端口上的文件,如
http://localhost:SOCKET_IO_PORT/socket.io/socket.io.js
。