Witam.
Pisze prstego klienta NTP (w obecnej chwili dokladniej RDATE).Napisalem cos takiego:

InetAddress remote = InetAddress.getByName("153.19.250.123");
            int port = 37;
            
            DatagramSocket ntp = new DatagramSocket();
            ntp.connect(remote, port);
            System.out.print(ntp.isConnected() + "\n");
            
            byte[] sendBuf = new byte [4];
            byte[] recvBuf = new byte [4];
            int length = sendBuf.length;
            DatagramPacket sendPacket = new DatagramPacket(sendBuf, length, remote, port);
            ntp.send(sendPacket);
            
            DatagramPacket recvPacket = new DatagramPacket(recvBuf, length);
            ntp.receive(recvPacket);
            
            //System.out.print(recvPacket.getData() + "\n");
            
            System.out.print("Wysłano: \n");
            for (int i = 0; i < sendBuf.length; i++) 
            {
                System.out.print(sendBuf[i] + " "); 
            }   
            
            System.out.print("\nObedrano: \n");
            for (int i = 0; i < recvBuf.length; i++) 
            {
                System.out.print(recvBuf[i] + " "); 
            }   
            

Wynik dzialania to :
init:
deps-jar:
compile:
run:
true
Wysłano:
0 0 0 0
Obedrano:
-55 -107 -126 -69 // TUTAJ ODBIERAM TO CO TRZEBA - 32 bitowa liczba podzielona na 4 bajty

Jak zamieniam ja na jedna liczbe binarna a potem na jedna dziesietna to i tak wychodzi mi lipa - zgodnie z RFC 868 rok 1929 :) czy ktos moglbym mi podpowiedziec co robie zle, albo co musze dorobic?

pozdrawiam
trynisz