Comme je l'ai écrit dans l'autre question, je pense que vous devriez commencer à utiliser tcpdump ou wireshark pour vérifier ce qui arrive réellement sur l'interface réseau. Assurez-vous que vous pouvez voir les paquets UDP en premier lieu - et ensuite vous pouvez obtenir socat
en cours d'exécution.
Ce qui est intéressant dans cette question, c'est que vous indiquez qu'il fonctionne sur Ethernet mais pas sur Wi-Fi. Je suppose que vous utilisez un Mac assez récent - ils supportent très bien le multicast en WiFi. Pour vérifier, lancez cette commande dans le Terminal :
ifconfig en0
(où en0
doit être remplacé par le nom de l'interface de votre WiFi)
Le texte devrait se présenter comme suit :
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
Notez qu'il est indiqué "MULTICAST" - c'est nécessaire pour que les choses fonctionnent.
L'étape suivante consiste à vérifier les tables de routage. Il se peut que vous ayez configuré les choses pour que le routage multicast soit exclusif à l'interface Ethernet et non à l'interface WiFi. Dans le terminal, exécutez la commande suivante :
netstat -nr | grep ^2
Vous devriez voir des lignes comme celles-ci :
224.0.0/4 link#5 UmCS en0
239.255.98.99 yyyyyy UHmLWI en0
Assurez-vous que la route générale ou la route spécifique existe et qu'elle concerne l'interface WiFi (au lieu de l'interface Ethernet).
Vous pouvez également essayer de modifier l'ordre de service. Pour ce faire, ouvrez System Preferences > Networks
puis cliquez sur le petit cercle ...
sous la liste des interfaces et sélectionnez Set Service Order
. Assurez-vous que votre interface WiFi est listée avant l'interface Ethernet.
Également dans System Preferences
vous devez vérifier Sharing
et veiller à ce que Internet Sharing
n'est pas activée.