2
まず、ローカルで動作します。この問題は、私がHerokuに自分のコードをアップロードしたときにのみ発生します。私のログでは、サーバがうまく動作していることがわかります。単にUDPを介してソケットデータを受信していないだけです。 は、ソケットの作成:JavaのDatagramSocketはパケットを受信しません(本番環境のみ)
パケットを受信DatagramSocket socket;
try {
socket = new DatagramSocket(port);
} catch (Exception e) {
logger.error(e.toString());
}
:nc -u garbil.herokuapp.com 40791
が、それは単に動作しません:
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());
}
私は、netstatコマンドを実行して(MACを通じて)サーバに接続しようとしました。
サーバーログはhttp://garbil.herokuapp.com/logsで表示できます。
udp /マルチキャストを無効にする多くのホスティング環境(私はAWSが知っている)。なぜtcpの代わりにudpを使用していますか? – jtahlborn