오늘의 목표
더보기
✔️ 서버 전용 더미 클라
⏱️ 오늘의 일정
서버 전용 더미 클라
📜 서버 전용 더미 클라
서버 스트레스 테스트를 하기 위해 더미 클라를 작성하고 있다.
class Client {
private clientSocket: any;
constructor() {
this.clientSocket = new net.Socket();
}
connect() {
this.clientSocket.connect(5555, "127.0.0.1", async () => {
console.log(`"127.0.0.1" : 5555 서버와 연결`);
setTimeout(() => {
const registerPacket = CreatePacket(config.packetType.REGISTER_REQUEST, "1.0.0", 1, {
id: "123",
password: '123',
email: '123'
});
this.clientSocket.write(registerPacket);
}, 2000);
this.clientSocket.on('data', (data: Buffer) => {
let offset = 0;
const packetType = data.readUInt16BE(offset);
offset += 2;
const versionLength = data.readUInt8(offset);
offset += 1;
const version = data.subarray(offset, offset + versionLength).toString('utf-8');
offset += versionLength;
const sequence = data.readUInt32BE(offset);
offset += 4;
const payloadLength = data.readUInt32BE(offset);
offset += 4;
const payload = data.subarray(offset, offset + payloadLength);
const packet = protoMessages.packet.GamePacket;
const payloadData = packet.decode(payload);
switch (packetType) {
case config.packetType.REGISTER_RESPONSE:
console.log("payloadData", payloadData);
break;
}
});
});
}
}
const dummyClient = new Client();
dummyClient.connect();
우선 간단하게 서버로 접속하고 서버 한테 응답 패킷을 받는지 확인하는 것까지만 했다.
내일 부터 본격적으로 채팅서버와 게임서버에 접속하고 게임 진행 및 채팅 전송까지 시나리오 대로
더미 클라를 조정하는 코드를 작성해 스트레스 테스트를 진행해야겠다.