根据Socket.io文档:
socket.io-client的独立版本由socket.io服务器自动公开为/socket.io/socket.io.js。或者,您可以提供在此存储库根目录下的文件socket.io-client.js。
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io('http://localhost');
socket.on('connect', function(){
socket.on('event', function(data){});
socket.on('disconnect', function(){});
});
</script>
但是,我想从一个单独的CDN服务socket.io客户端(它更便宜,更快,并减少我服务器上的负载)。
我该怎么做?我是否必须禁用socket.io默认值?
答案 0 :(得分:13)
您可以找到socket.io客户端脚本文件的here CDN链接。
//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js
//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.6/socket.io.min.js
......等等。
答案 1 :(得分:12)
只要您使用的客户端版本与您在服务器上使用的版本相同,就不会有任何问题从CDN提供服务。
也就是说,客户端很小(24kb),如果缓存设置正确,这对您的服务器影响很小。
更新:如@ maxwell2022所述,socket.io有自己的cdn,从1.0.0开始,所以你可以使用:
<script src="https://cdn.socket.io/socket.io-1.0.0.js"></script>
答案 2 :(得分:0)
根据the wiki,如果您选择自己为客户提供服务,则可以克隆socket.io-client存储库并查看dist/
子目录。有4个文件要服务(这可能会改变):
WebSocketMain.swf
WebSocketMainInsecure.swf
socket.io.js
socket.io.min.js
只需确保在更新服务器时更新这些文件。