J'ai actuellement un petit script Python que j'utilise pour engendrer plusieurs exécutables, (serveurs de chat vocal), et dans la prochaine version du logiciel, les serveurs ont la capacité de recevoir des signaux de pulsation sur le port UDP. (Il y aura peut-être des milliers de serveurs sur une machine, allant des ports 7878 et plus)Plusieurs programmes utilisant le même port UDP? Possible?
Mon problème est que ces serveurs pourraient (lire: vont) fonctionner sur la même machine que mon script Python et que j'avais prévu sur ouvrir un port UDP, et juste envoyer le battement de coeur, attendre la réponse, et voila ... Je pourrais redémarrer des serveurs quand/s'ils ne répondaient pas en tuant la tâche et en rechargeant le serveur.
Le problème est que je ne peux pas ouvrir un port UDP que le serveur utilise déjà. Y a-t-il un moyen de contourner ceci? Le responsable du projet est en train de mettre en œuvre le rythme cardiaque, donc je suis sûr que toute suggestion sur la façon dont le système de pulsations pourrait être implémenté serait la bienvenue également. - Ceci est un script assez générique qui pourrait s'appliquer à d'autres programmes, mon objectif principal est toujours de communiquer sur ce port UDP.
Ce n'est pas possible par définition. Un programme par port est le mode de fonctionnement de UDP (et TCP). Un programme peut envoyer à d'autres programmes. –
Vous avez raison, à travers l'OS, c'est impossible. Si vous avez un accès brut à l'adaptateur réseau (via 'libpcap' ou similaire), ce serait possible, mais pas joli ... – Wim
Existe-t-il un moyen de mise en œuvre autour de cela, comme éventuellement l'implémentation de la pulsation d'une manière spécifique? Peut-être que je peux envoyer un paquet de diffusion, et avoir la réponse envoyée à un port ouvert? Tous les serveurs obtiendraient le paquet, et pourraient être chargés de répondre à 7877 peut-être? - Le chef de projet est ouvert à des choses comme celle-ci, je le soupçonne. – ThantiK