I am using this code

/\*import \* as dgram from 'dgram';
const server = dgram.createSocket('udp4');

server.on("listening", () => {
 const address = server.address();
 console.log("Address: " + server.address());
 console.log(`UDP server listening on ${address.address}:${address.port}`);
});

server.on("message", (msg, rinfo) => {
 console.log(`Received message from ${rinfo.address}:${rinfo.port}: ${msg}`);
});

server.bind(50055);
\*/

/\*
//packet I am receiving is 5A EF 00 00 00 00 00 6F BC which is in HEX. 
// Where 5A EF the first two bytes are the header of the packet, 6F and BC 
// are the last two bytes which is the footer for the packet. And the middle 
// bytes from third to seventh are the variable bytes that will contain values 
// of 1byte each and can be changed. I want to make modification in the code to 
// parse the packet and then display packet in hex and the 5 bytes that contains 
// the data in the console.log
import \* as dgram from 'dgram';

const server = dgram.createSocket('udp4');

server.on('listening', () => {
 const address = server.address();
 console.log(`UDP server listening on ${address.address}:${address.port}`);
});

server.on('message', (msg, rinfo) => {
 console.log(`Received message from ${rinfo.address}:${rinfo.port}:`);

 // Parse the packet and extract the data bytes
 const header = msg.readUInt16BE(0);
 const data = msg.slice(2, 7);
 const footer = msg.readUInt16BE(7);

 // Print the packet data and the extracted data bytes in hex format
 console.log(` Packet: ${msg.toString('hex')}`);
 console.log(` Data: ${data.toString('hex')}`);
});

server.bind(50055);
\*/

/\*
//parsed data to be stored in different variables and displayed on console.log each one seperately from byte 3 to byte 7
import \* as dgram from 'dgram';

const server = dgram.createSocket('udp4');

server.on('listening', () => {
 const address = server.address();
 console.log(`UDP server listening on ${address.address}:${address.port}`);
});

server.on('message', (msg, rinfo) => {
 console.log(`Received message from ${rinfo.address}:${rinfo.port}:`);

 // Parse the packet and extract the data bytes
 const header = msg.readUInt16BE(0);
 const byte3 = msg.readUInt8(2);
 const byte4 = msg.readUInt8(3);
 const byte5 = msg.readUInt8(4);
 const byte6 = msg.readUInt8(5);
 const byte7 = msg.readUInt8(6);
 const footer = msg.readUInt16BE(7);

 // Print the parsed data to the console
 console.log(` Header: 0x${header.toString(16)}`);
 console.log(` Byte 3: 0x${byte3.toString(16)}`);
 console.log(` Byte 4: 0x${byte4.toString(16)}`);
 console.log(` Byte 5: 0x${byte5.toString(16)}`);
 console.log(` Byte 6: 0x${byte6.toString(16)}`);
 console.log(` Byte 7: 0x${byte7.toString(16)}`);
 console.log(` Footer: 0x${footer.toString(16)}`);
});

server.bind(50055);
\*/

/\*
//Display the parsed data in hex and integer
import \* as dgram from 'dgram';

const server = dgram.createSocket('udp4');

server.on('listening', () => {
 const address = server.address();
 console.log(`UDP server listening on ${address.address}:${address.port}`);
});

server.on('message', (msg, rinfo) => {
 console.log(`Received message from ${rinfo.address}:${rinfo.port}:`);

 // Parse the packet and extract the data bytes
 const header = msg.readUInt16BE(0);
 const byte3 = msg.readUInt8(2);
 const byte4 = msg.readUInt8(3);
 const byte5 = msg.readUInt8(4);
 const byte6 = msg.readUInt8(5);
 const byte7 = msg.readUInt8(6);
 const footer = msg.readUInt16BE(7);

 // Print the parsed data and their integer values to the console
 console.log(` Header: 0x${header.toString(16)} (${header})`);
 console.log(` Byte 3: 0x${byte3.toString(16)} (${byte3})`);
 console.log(` Byte 4: 0x${byte4.toString(16)} (${byte4})`);
 console.log(` Byte 5: 0x${byte5.toString(16)} (${byte5})`);
 console.log(` Byte 6: 0x${byte6.toString(16)} (${byte6})`);
 console.log(` Byte 7: 0x${byte7.toString(16)} (${byte7})`);
 console.log(` Footer: 0x${footer.toString(16)} (${footer})`);
});

server.bind(50055);
\*/

import \* as dgram from 'dgram';

const server = dgram.createSocket('udp4');

const PORT = 50055;

server.on('listening', () => {
 const address = server.address();
 console.log(`UDP server listening on ${address.address}:${address.port}`);
});

server.on('message', (message, remote) => {
 console.log(`Received ${message.length} bytes from ${remote.address}:${remote.port}`);

 // Extract latitude and longitude values from the received data
 const latBuffer = message.slice(0, 4);
 const longBuffer = message.slice(4, 8);

 const latitude = latBuffer.readInt32LE(0) / 1e7; // Divide by 1e7 to convert to float
 const longitude = longBuffer.readInt32LE(0) / 1e7;

 console.log(`Latitude: ${latitude}, Longitude: ${longitude}`);
});

server.bind(PORT);
이 코드를 사용하고 있습니다./\*'dgram'에서 \*를 dgram으로 가져옵니다;const server = dgram.createSocket('udp4');server.on("listening", () => { const address = server.address(); console.log("주소: " + server.address()); console.log(`${주소.주소}:${주소.포트}`에서 수신 대기 중인 UDP 서버`);});server.on("message", (msg, rinfo) => { console.log(`${rinfo.address}:${rinfo.port}: ${msg}`에서 메시지를 수신했습니다;)});server.bind(50055);\*//\*// 내가 수신하는 패킷은 5A EF 00 00 00 00 00 6F BC이며 HEX로 되어 있습니다. // 여기서 5A EF 처음 두 바이트는 패킷의 헤더이고, 6F와 BC는 // 패킷의 마지막 두 바이트입니다. //는 패킷의 바닥글인 마지막 두 바이트입니다. 그리고 중간 // 세 번째부터 일곱 번째 바이트는 각각 1바이트의 값을 포함하는 가변 바이트입니다. // 가변 바이트이며 각각 1바이트씩 변경할 수 있습니다. 코드를 다음과 같이 수정하고 싶습니다. // 패킷을 구문 분석한 다음 패킷을 16진수로 표시하고 그 중 5바이트에 포함된 데이터를 // 5바이트의 데이터를 콘솔 로그에 표시하도록 수정하고 싶습니다.'dgram'에서 \*를 dgram으로 가져옵니다;const server = dgram.createSocket('udp4');server.on('listening', () => { const address = server.address(); console.log(`${address.address}:${address.port}`에서 수신 대기 중인 UDP 서버입니다;)});server.on('message', (msg, rinfo) => { console.log(`${rinfo.address}:${rinfo.port}:`에서 메시지를 수신했습니다;) // 패킷을 파싱하고 데이터 바이트를 추출합니다. const header = msg.readUInt16BE(0); const data = msg.slice(2, 7); const footer = msg.readUInt16BE(7); // 패킷 데이터와 추출된 데이터 바이트를 헥스 형식으로 출력합니다. console.log(` Packet: ${msg.toString('hex')}`); console.log(` Data: ${data.toString('hex')}`); }); // 데이터 바이트를 출력합니다;});server.bind(50055);\*//\*//구문 분석된 데이터를 다른 변수에 저장하고 바이트 3부터 바이트 7까지 콘솔 로그에 각각 개별적으로 표시합니다.'dgram'에서 \*를 dgram으로 임포트합니다;const server = dgram.createSocket('udp4');server.on('listening', () => { const address = server.address(); console.log(`${address.address}:${address.port}`에서 수신 대기 중인 UDP 서버입니다;)});server.on('message', (msg, rinfo) => { console.log(`${rinfo.address}:${rinfo.port}:`에서 메시지를 수신했습니다;) // 패킷을 파싱하고 데이터 바이트를 추출합니다. const header = msg.readUInt16BE(0); const byte3 = msg.readUInt8(2); const byte4 = msg.readUInt8(3); const byte5 = msg.readUInt8(4); const byte6 = msg.readUInt8(5); const byte7 = msg.readUInt8(6); const footer = msg.readUInt16BE(7); // 구문 분석된 데이터를 콘솔에 출력합니다. console.log(` Header: 0x${header.toString(16)}`); console.log(` 바이트 3: 0x${byte3.toString(16)}`) console.log(` 바이트 4: 0x${byte4.toString(16)}`) console.log(` 바이트 5: 0x${byte5.toString(16)}`) console.log(` 바이트 6: 0x${byte6.toString(16)}`) console.log(` 바이트 7: 0x${byte7.toString(16)}`) console.log(` 바닥글: 0x${footer.toString(16)}`);});server.bind(50055);\*//\*//구문 분석된 데이터를 16진수와 정수로 표시합니다.'dgram'에서 \*를 dgram으로 임포트합니다;const server = dgram.createSocket('udp4');server.on('listening', () => { const address = server.address(); console.log(`${address.address}:${address.port}`에서 수신 대기 중인 UDP 서버입니다;)});server.on('message', (msg, rinfo) => { console.log(`${rinfo.address}:${rinfo.port}:`에서 메시지를 수신했습니다;) // 패킷을 파싱하고 데이터 바이트를 추출합니다. const header = msg.readUInt16BE(0); const byte3 = msg.readUInt8(2); const byte4 = msg.readUInt8(3); const byte5 = msg.readUInt8(4); const byte6 = msg.readUInt8(5); const byte7 = msg.readUInt8(6); const footer = msg.readUInt16BE(7); // 구문 분석된 데이터와 해당 정수 값을 콘솔에 출력합니다. console.log(` Header: 0x${header.toString(16)} (${header})`); console.log(` 바이트 3: 0x${byte3.toString(16)} (${byte3})`) console.log(` 바이트 4: 0x${byte4.toString(16)} (${byte4})`) console.log(` 바이트 5: 0x${byte5.toString(16)} (${byte5})`) console.log(` 바이트 6: 0x${byte6.toString(16)} (${byte6})`) console.log(` 바이트 7: 0x${byte7.toString(16)} (${byte7})`) console.log(` 바닥글: 0x${footer.toString(16)} (${footer})`);});server.bind(50055);\*/'dgram'에서 \*를 dgram으로 임포트합니다;const server = dgram.createSocket('udp4');const PORT = 50055;server.on('listening', () => { const address = server.address(); console.log(`${주소.주소}:${주소.포트}`에서 수신 대기 중인 UDP 서버`);});server.on('message', (message, remote) => { console.log(`${remote.address}:${remote.port}에서 ${message.length} 바이트를 수신했습니다`); // 수신된 데이터에서 위도 및 경도 값을 추출합니다. const latBuffer = message.slice(0, 4); const longBuffer = message.slice(4, 8); const latitude = latBuffer.readInt32LE(0) / 1e7; // 1e7로 나누어 실수로 변환합니다. const longitude = longBuffer.readInt32LE(0) / 1e7; console.log(`위도: ${latitude}, 경도: ${longitude}`);});server.bind(PORT);