J'ai un périphérique FPGA avec lequel mon code doit parler. Le protocole est le suivant:Socles généraux Question de programmation UDP
J'envoie un seul octet non nul (UDP) pour activer une fonction. La carte FPGA commence alors à cracher des données sur le port à partir duquel j'ai envoyé.
Voyez-vous mon dilemme? Je sais quel port j'ai envoyé le message -, mais je ne sais pas de quel port je envoyé (est ce port ne sont généralement pas choisi automatiquement par le système d'exploitation?).
Ma meilleure estimation pour ce que je suis censé faire est de créer un socket avec l'IP de destination et le numéro de port, puis de réutiliser le socket pour la réception. Si je le fais, sera-t-il déjà configuré pour écouter sur le port d'où j'ai envoyé le message original?
Aussi, pour votre information, les variations de ce code seront écrites en Python et C#. Je peux rechercher des API spécifiques car les deux suivent le modèle de socket BSD.
J'ai trouvé quelques bonnes informations dans un livre qui a effacé cette question pour moi. Si je peux retrouver le paragraphe, je l'ajouterai comme commentaire. Essentiellement, cela a confirmé mes soupçons. 1) Vous ne pouvez pas spécifier le port * de * que vous souhaitez envoyer. 2) Il n'est pas nécessaire de lier lors de l'utilisation de UDP. Après avoir utilisé sendto(), le socket peut être réutilisé pour recevoir des données sur le port * de * auquel la première requête a été envoyée. Il me semble étrange que ce comportement n'ait pas été rendu évident par les multiples documents que j'ai lus. Je vais voir si je peux retrouver cette référence. – Nate