(2024.06.24)
네트워크 기초 이론
서로 다른 개인 단말기 ( pc, 스마트폰 등 ) 에 패킷을 송신할 때,
패킷은 스위치와 라우터를 경유하게 된다.
같은 와이파이를 사용하는 것처럼 같은 네트워크를 사용할 땐,
스위치만 사용하고,
그 외 다른 네트워크를 사용할 땐
라우터까지 사용한다.
통신 모델
통신 모델은 네트워크 데이터 송/수신을 효과적으로 하기위해 만든 표준 규약이다.
OSI 7 Layer 모델과 , TCP/IP 모델 등이 있다.
OSI 7 Layer : 피지컬 / 데이터 링크 / 네트워크 / 트랜스포트 / 세션 / 프레젠테이션 / 어플리케이션
TCP/IP : 피지컬 / 데이터 링크 / 네트워크 / 트랜스포트 / 어플리케이션
우리는 데이터를 송신할 때,
해당 모델에 관련한 데이터를 패킷에 추가하여 보내게 된다.
소켓 프로그래밍
클라이언트
1) 소켓준비
2) 서버주소로 Connect
서버
1) Listener 소켓 준비
2) Bind (서버주소/Port를 소켓에 연동)
3) Listen
4) Accept
(2024.06.25)
그런데 Accept 부분은 non-blocking 방식을 사용하는 것이 게임 서버에 더 적합하다.
(2024.06.28)
TCP vs UDP
연결 | 전송순서 보장 | 패킷 분실시 | 흐름/혼잡 제어 | 속도 | |
TCP | 있 | 됨 | 다시 전송 | 있 | 느림 |
UDP | 없 | 안됨 | 그게 뭐임 | 없 | 빠름 |
TCP도 상대적으로 느리다 할 뿐이지 진짜 느린건 아님.
그래도 진짜 속도가 중요해서 UDP를 사용해야 한다면,
UDP를 그래도 사용하기 보단 좀 개선한 Reliable UDP를 사용함.
'공부요약노트 > 게임 서버 (C#)' 카테고리의 다른 글
멀티쓰레드 프로그래밍 (2) | 2024.06.22 |
---|