Java UDP服务器无法识别原始数据包

时间:2017-05-26 17:30:48

标签: java sockets udp

我尝试使用带有Java的IOT设备,但Java没有收到任何UDP数据包。我的数据包非常简单,我相信这是问题所在。 wireshark也会收听所有数据包和类似的DELPHI软件。

我的代码:

package br.imply.server;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class Main {

    public static void main(String[] args) {
        try {
            int porta = 4865;
            byte[] receiveData = new byte[1024];
            byte[] sendData = new byte[1024];

            DatagramSocket serverSocket = new DatagramSocket(porta);
            boolean isStopped = false;
            InetAddress inetAddress = InetAddress.getLocalHost();
            System.out.println("Iniciando servidor: " + inetAddress.getHostAddress() + ":" + porta);

            while (!isStopped) {
                DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
                System.out.println("Aguardando conexão...");
                serverSocket.receive(receivePacket);
                System.out.println("Conectado em " + receivePacket.getAddress());
                String sentence = new String(receivePacket.getData());
                System.out.println("received: " + sentence);
                InetAddress IPAddress = receivePacket.getAddress();
                int port = receivePacket.getPort();
                String capitalizedSentence = sentence.toUpperCase();
                sendData = capitalizedSentence.getBytes();
                DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);
                serverSocket.send(sendPacket);

                //do something with clientSocket
            }
        } catch (IOException ex) {
            System.out.println(Main.class.getName() + " " + ex);
        }
    }

}

0 个答案:

没有答案