| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 |
- 독서
- Unity
- git
- C++
- Toy Project
- multi-thread
- System Programming
- team project
- c#
- docker
- BOJ
- Network Programming
- Online Judge
- design pattern
- Photon
- 오즈코딩스쿨 게임개발캠프
- Data Structure
- PS
- Today
- Total
목록전체 글 (418)
I'm FanJae.
1. 시작에 앞서Client와 Server에서 같은 패킷을 사용하더라도, 각 언어가 객체를 메모리에 저장하는 방식은 다를 수 있다.예를 들어 C#에서 BinaryWriter로 기록한 데이터를 C++ 구조체에 그대로 복사하면 항상 같은 값이 된다고 단정할 수는 없다.두 프로그램이 같은 데이터를 주고받으려면 객체 모양만 맞추는 것이 아니라, 실제로 주고받는 바이트 형식을 맞춰야 한다.이번 글에서는 간단한 이동 패킷을 예로 들어 C#과 C++에서 같은 Payload를 만드는 방법을 정리해 보려고 한다.2. 먼저 패킷 형식을 약속한다예제에서는 맵 ID와 좌표를 전송한다.필드자료형크기순서mapId부호 없는 32비트 정수4바이트1x부호 있는 32비트 정수4바이트2y부호 있는 32비트 정수4바이트3전체 Payload..
1. 시작에 앞서- Client와 Server가 데이터를 주고받으려면, 각 프로그램이 사용하는 객체를 그대로 전달할 수는 없다.- Client의 메모리 안에 있는 객체는 C# 구조체이고, Server가 사용하는 객체는 C++ 구조체일 수 있다.- 같은 데이터를 표현하더라도 언어와 환경에 따라 메모리 배치가 다를 수 있기 때문에, 네트워크로 보낼 때는 서로가 이해할 수 있는 바이트 형식으로 바꿔야 한다.- 이번 글에서는 패킷을 위한 객체 직렬화가 무엇인지, 간단한 코드와 함께 정리해 보려고 한다.2. 직렬화란?- 직렬화(Serialization)는 프로그램 안의 데이터를 정해진 바이트 형식으로 바꾸는 과정이다.- 역직렬화(Deserialization)는 바이트를 읽어 다시 프로그램에서 사용할 데이터로 만드..
※ 글의 시작에 앞서 본 게시글은 홍보 목적의 게시글이 아니며.. 수료 이후 작성하는 내용입니다. 1. 이모저모- 10월 28일. 토,일 공휴일을 제외하고 약 130일의 시간이 모두 끝났다. 4월 16일부터 지금까지 약 6개월이 넘는 시간 간 동안 개인 프로젝트와 더불어 팀 프로젝트를 진행하면서 여러 사람들을 만났고, 나와 같은 고민을 하는 사람들을 만날 수 있었던 뜻 깊은 시간이었다.- 지난번 글에서 이미 대부분 다뤘기 때문에 가볍게만 적어보려고 한다.2. 개인적인 바람① 단순한 종이 한 장이 아닌 전문성의 증표가 되길 바라며- 증서는 흔적에 불과하니까. 앞으로도 내가 앞으로 해 나갈 일을 증명하고 싶다. ② 누군가에게 힘을 줄 수 있는 사람이 되길 바라며- 같은 기수의 수강생 중 1분에게 받았다. ..
※ 글의 시작에 앞서 본 게시글은 홍보 목적의 게시글이 아니며.. 수료를 앞둔 수강생으로 작성하는 내용입니다. 1. 6개월의 시간을 마치며 ① 과거부터 되돌아보며- 아마 4월 초쯤이었던 것 같다. 내가 이 선택을 하는 것이 옳은가에 대해서 고민했고, 한편으로 이 선택을 하는 것에 대한 불확실성에 대해서 두려움을 느끼기도 했던 것 같다. - 결국 이것을 해야겠다고 결심했던 것은 두렵고 확신이 없다는 이유만으로 내가 원하던 방향으로 가지 못하는 것보다는 내가 원하는 방향으로 느리더라도 맞는 방향을 가고 싶었기 때문이었던 것 같다.- 게임개발 캠프에서 Unity에 대해서 배우고, 개인적인 공부를 통해서 MMORPG Server에 붙여보는 작업에 이르기까지 많은 경험을 할 수 있었던 것 같다. 비록 아직도 많이..
1. 시작에 앞서- 전날까지 Player 간 거래 UI와 RTT·Jitter를 이용한 Remote Player 이동 표시를 구현했다.- 이번에는 로그인 화면에서 새로운 Account를 직접 생성할 수 있도록 계정 가입 UI와 가입 요청 흐름을 추가했다.- 동시에 실제 Server와 Network 오류 조건을 반복하면서 거래 UI에서 늦은 응답이 잘못 적용되는 문제와 연결 종료 후 이전 상태가 남는 문제를 보완했다.├─ Account Registration│ ├─ CREATE ACCOUNT│ ├─ 입력 검증│ └─ 가입 후 기존 Login 연결│├─ Trade Recovery│ ├─ 늦은 응답 차단│ └─ 연결 종료 상태 정리│└─ Validation ├─ Network ..