Ho cercato di capire perché un programma Java che usa la comunicazione UDP su Windows funzioni al 100%, ma sembra che i pacchetti vengano regolarmente rilasciati su una build macOS della JVM (8.x).
Ho visto un altro thread su StackExchange che non è mai stato veramente risposto, ma sembra che una delle persone abbia notato anche un problema simile su OSX.
Non ho il firewall standard abilitato nelle preferenze né credo di avere alcuna impostazione di rete speciale che interromperà i datagrammi UDP. Inoltre, se eseguo lo stesso programma su un VM Windows 7 tramite VirtualBox sullo stesso hardware, il programma funziona perfettamente.
Qualche idea su cosa cercare o se si tratta di un problema noto?
UPDATE 2018-11-24: Ulteriori dettagli. Sto eseguendo Java 1.8.0_92-b14 da Oracle su MacPro3,1 e macOS 10.13.6. Il programma che sto utilizzando è ADTPro 2.0.2 come server ethernet che tenta di comunicare con un vecchio Apple // e che ha un Uthernet II che esegue l'altro lato di ADTPro. È un software per trasferire immagini su disco da / verso le macchine.
Il problema è che i trasferimenti spesso scadono e si interrompono e sembra che i pacchetti si stiano perdendo e il codice non sia abbastanza sofisticato da correggere errori e inviare nuovamente / riprovare. Guardando il codice sorgente, sembra che tutto sia in UDP che solleva sicuramente i sospetti. Secondo il maintainer su GitHub, il fatto che stia usando UDP è storico e nessuno ha fatto il lavoro per convertire a TCP. Dato che il software funziona bene parlando con una macchina Windows con lo stesso software e le stesse versioni di Java, suppongo che sia qualcosa con macOS o la build Java di OSX e mi chieda se qualcuno sa come determinare per certo o no. Ti aiuta?