2016-05-06 6 views
2

Zunächst einmal funktioniert es lokal. Das Problem tritt nur auf, wenn ich meinen Code auf Heroku hochlade. Ich kann in meinen Protokollen sehen, dass der Server einwandfrei funktioniert und Socket-Daten nicht über UDP empfangen werden. Erstellen der Sockel:Javas DatagramSocket empfängt keine Pakete (nur in der Produktion)

DatagramSocket socket; 
try { 
    socket = new DatagramSocket(port); 
} catch (Exception e) { 
    logger.error(e.toString()); 
} 

für Pakete Zuhören:

try { 
    byte[] data = new byte[256]; 
    DatagramPacket receivePacket = new DatagramPacket(data, data.length); 
    socket.receive(receivePacket); 
    logger.log("Got packet!"); // This is never reached 
} catch (IOException e) { 
    logger.log(e.toString()); 
} 

ich an den Server versucht, Verbinden (durch mac) von netstat laufen: nc -u garbil.herokuapp.com 40791, aber es funktioniert einfach nicht.

Die Serverprotokolle können in http://garbil.herokuapp.com/logs angezeigt werden.

+0

viele Hosting-Umgebungen deaktivieren UDP/Multicast (ich weiß, AWS tut). Warum benutzt du udp anstelle von tcp? – jtahlborn

Antwort