Socket.Oi client servi à partir du CDN

selon la Socket.io documentation:

une construction autonome de socket.io-client est exposé automatiquement par la prise.serveur io as /socket.io/socket.io.js. Alternativement vous pouvez servir le fichier socket.io-client.js trouvé à la racine de ce dépôt.

<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>

cependant, je voudrais servir la prise.client io à partir D'un CDN séparé (c'est moins cher, plus rapide et réduit la charge sur mon serveur).

Comment puis-je faire cela? Dois-Je devez désactiver le support.io par défaut?

10
demandé sur Benjamin 2013-03-06 07:25:29

3 réponses

tant que la version du client que vous utilisez est la même que celle que vous utilisez sur votre serveur, il ne devrait pas y avoir de problème pour le servir à partir d'un CDN.

cela dit, le client est minuscule (24kb), et si la mise en cache est configurée correctement, cela devrait avoir très peu d'impact sur votre serveur.

mise à jour: comme mentionné par @maxwell2022, socket.io a son propre cdn à partir de 1.0.0, donc vous pouvez utiliser:

<script src="https://cdn.socket.io/socket.io-1.0.0.js"></script>
12
répondu Pascal Belloncle 2014-05-30 22:20:29

Vous pouvez trouver ici liens CDN vers la socket.io client script files.

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

...et ainsi de suite.

13
répondu Ionică Bizău 2013-10-25 13:25:39

Selon le wiki, si vous choisissez de servir le client de vous-même, vous pouvez cloner le socket.io-client dépôt et de regarder les dist/ sous-répertoire. Il y a 4 fichiers pour servir (cela peut changer):

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

assurez-vous simplement de mettre à jour ces fichiers chaque fois que vous mettez à jour le serveur.

0
répondu MiniQuark 2013-05-20 20:22:47