Est-ce possible ?
Je suis en train d'écrire une interface d'administration web pour un système de réseau. J'ai besoin d'écouter un port UDP spécifique et le montrer dans le navigateur. Puis-je faire cela en javascript ? Toute autre idée est la bienvenue.
édition anticipée : Voici une autre idée : J'ai un support php et perl côté serveur. JS peut appeler un php script pour commencer à écouter, qui appellera également un perl script, qui a une boucle d'écoute sans fin et collecte les messages reçus dans une variable sink. En théorie ; JS va interroger un script PHP toutes les 2 secondes, récupérer la variable sink et l'afficher sur le navigateur/html. Mais, comment un script PHP peut-il atteindre/lire cette variable "sink" ? Et, comment ou quand le script de perl s'arrêtera-t-il ? Pour la première partie, l'utilisation d'un fichier comme puits est une idée terrible ; je vais recevoir 10 messages de chaîne par seconde et aussi lire puis effacer le contenu du fichier toutes les 2 secondes. Sans parler des mécanismes de verrouillage des fichiers... Pour la deuxième partie : je devrais mettre le timeout quelque part mais ; où ?
éditer : Oui, je peux choisir où l'écoute aura lieu (serveur ou client).
edit2 : Pourquoi est-ce que je veux écouter les messages UDP sur un port spécifique et les afficher sur le navigateur : Le projet sur lequel je travaille a des capteurs spéciaux activés par des touches spécifiques au business, ces dispositifs de capteurs sont compatibles avec le réseau et je les ai programmés pour envoyer un message de diffusion réseau UDP contenant des informations biz-key chaque fois qu'ils détectent quelque chose. Il y a beaucoup de ces dispositifs sur le même réseau, et l'interface web-admin devrait avoir une page où l'utilisateur peut voir ce qui se passe en temps réel ou presque (~5 secondes de délai est acceptable, c'est pourquoi j'ai eu l'idée de poll-every-2seconds à ma première édition).
edit3 : J'ai également trouvé ceci : ActiveSocket qui est un composant ActiveX mais, comme prévu, il ne fonctionne pas sur Firefox et n'a pas de documentation sur sa partie html+JS.