Server/개발

[Node.js] UTF8 / Hex 값 송수신

sangjun-pro 2022. 4. 14. 16:35

1. HEX 송수신

 

- 클라이언트

const net = require("net");

const client = net.connect({ port: 21116, host: '192.168.0.7' });
var send_data = new ArrayBuffer(5);
var uint8data = new Uint8Array(send_data);
uint8data[0] = 0x30;
uint8data[1] = 0x31;
uint8data[2] = 0x32;
uint8data[3] = 0x33;
uint8data[4] = 0x34;
client.write( uint8data);

client.on("data", (data) => {
  console.log('C RECV UTF8 : ', data.toString());
  console.log('C RECV HEX : ', data.toString('hex'));
});
 
client.on("close", () => {
  console.log("CLOSED");
});

- 서버

const net = require('net');
const ipaddr = '192.168.0.7';
const port = 21116;
var recv_cnt = 0;
var rtn = "";


let server = net.createServer(function (socket) {
	socket.on('data', function (data) {
		console.log("S RECV HEX:" + data.toString('hex'));
		console.log("S RECV UTF8:" + data.toString());
		rtn = "ABCD";
		socket.write(rtn);
	});

	socket.on('close', function () {
		console.log('CLOSED');
	});

	setTimeout(() => {
		socket.destroy();
	}, 1000);
});

server.on('error', function (err) {
	console.log('err: ', err.code);
});

server.listen(port, ipaddr, function () {
	console.log('server.listen');
});

 

 

결과

- 클라이언트
C RECV UTF8 :  ABCD
C RECV HEX :  41424344
CLOSED

- 서버
S RECV HEX:3031323334
S RECV UTF8:01234
CLOSED