채팅 서버를 구현하기 전에 서버와 클라이언트가 주고 받을 패킷 구조를 설계하려고 한다.

 

✅ 구조

패킷의 형태는 헤더 파일 + 데이터 형태로 구성되고

헤더 파일은 총 5바이트의 크기를 가지며, 아래와 같은 변수로 구성된다.

 

struct EncodeHeader
{
	unsigned char packetCode;

	unsigned short packetLen;

	unsigned char randXORCode;

	unsigned char checkSum;
};

 

  • packetCode: 1차적으로 패킷의 무결성을 확인하는 값으로 상수값으로 정해진다.
  • packetLen: 데이터의 총 길이를 나타낸다. ( 기본적으로 바이너리 데이터이기 때문에 길이가 꼭 필요하다 )
  • randXORCode: 패킷 데이터를 XOR 값을 이용해 암호화 시켜줄때 필요한 값이다.
  • checkSum: XOR로 암호화 시킨 데이터를 기준으로 삼아 checkSum을 구해 데이터 변조 여부를 판단한다.

'ChattingServer' 카테고리의 다른 글

[ChattingServer] AcceptThreadProc  (0) 2025.06.01
[ChattingServer] Session  (0) 2025.05.29
[ChattingServer] 직렬화 버퍼  (0) 2025.05.29
[ChattingServer] 사용자 버퍼  (0) 2025.05.29
[ChattingServer] 채팅 서버 시작  (0) 2025.05.29

+ Recent posts