19

根据 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 默认值吗?

4

3 回答 3

17

只要您使用的客户端版本与您在服务器上使用的版本相同,从 CDN 提供它应该没有任何问题。

也就是说,客户端很小(24kb),如果缓存设置正确,这对您的服务器的影响应该很小。

更新:正如@maxwell2022 提到的,socket.io 有自己的 CDN,从 1.0.0 开始,所以你可以使用:

<script src="https://cdn.socket.io/socket.io-1.0.0.js"></script>
于 2013-03-06T07:55:21.723 回答
15

您可以在此处找到指向 socket.io 客户端脚本文件的 CDN 链接。

0.9.16

//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js

0.9.6

//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.6/socket.io.min.js

...等等。

于 2013-10-25T13:19:47.200 回答
0

根据wiki,如果您选择自己为客户端提供服务,则可以克隆socket.io-client存储库并查看dist/子目录。有 4 个文件可供服务(这可能会改变):

  • WebSocketMain.swf
  • WebSocketMainInsecure.swf
  • socket.io.js
  • socket.io.min.js

只要确保在更新服务器时更新这些文件。

于 2013-05-20T20:22:47.213 回答