Java数据报套接字不接收数据包

时间:2013-11-19 10:28:58

标签: java sockets packet datagram

我有这个线程从远程服务器接收数据作为UDP数据包。它没有进入IF条款。 这是我的主题:

@Override
public void run() {
    logger.info("Démarrage");

    try {
        socket = new DatagramSocket(10234);
        while (true) {
            byte[] buffer = new byte[2048];
            DatagramPacket packet = new DatagramPacket(buffer, 2048);
            socket.receive(packet);
            Message message = new Message();
            if (message.parseData(packet.getData())) {
            messageUDP =message.message;
            logger.info(messageUDP);
            data.main(messageUDP);
            } else {
                logger.info("Could not parse message or message not related to Postfix");
                logger.info("Message was: {}", new String(packet.getData()));
            }
        }
    } catch (IOException e) {
        logger.error("IOException:", e);
    } catch (Exception e) {
        logger.error("Exception:", e);
    }

    logger.debug("Arrêt");
}

我在任何地方添加了logger.info,知道它被阻止了。我发现每次socket.receive(packet);都会阻止它。

但我收到端口10234上的数据,我使用 tcpdump 命令验证了该数据。

所以我不知道这里可能出现什么问题。

注意:此代码之前有效,我没有更改任何内容,今天我什么都没收到。

0 个答案:

没有答案