java

C# > Java UDP Server 인코딩

주피터0410 2023. 7. 17. 14:42

C#에서 제작된 프로그램을 java UDP Server를 만들어 데이터를 받으려고 합니다.

 

C#에서 제작된 데이터 구조도<Data Packet Structure>는 다음과 같습니다.

 

data를 byte 배열로 받아서 버퍼 안을 byte array로 랩핑합니다.
참고로 ByteBuffer는 바이트 데이터를 저장하고 읽는 저장소입니다.

https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html

 

Int32

		byte[] data = new byte[] { 0, 0, 0, 7 };
		int value = ByteBuffer.wrap(data).getInt();
		System.out.println(value);

 

Int64

		byte[] data = new byte[] { 8, -37, -122, -47, 125, 101, 69, -105 };
		long value = ByteBuffer.wrap(data).getLong();
		System.out.println(value);

 

double

		byte[] data = new byte[] { 64, 68, 60, 40, -11, -62, -113, 92 };
		double value = Double.longBitsToDouble(ByteBuffer.wrap(data).getLong());
		System.out.println(value);