목록Server (3)
Coding Memo
TcpClient 및 TcpListener는 Socket을 직접 컨트롤 하지 않고 간단하고 빠르게 서버를 오픈하고 클라이언트로 서버에 연결할 수 있도록 구성되어 있는 기본 클래스이다. https://learn.microsoft.com/en-us/dotnet/api/system.net.sockets.tcpclient?view=net-7.0 TcpClient Class (System.Net.Sockets) Provides client connections for TCP network services. learn.microsoft.com 특징으로는 동기 및 비동기 메서드를 포함하고 있다는 것과 Send와 Receive시에 NetworkStream으로 데이터를 읽고 쓸 수 있다는 점이다. 추가적으로 Client..
Rockiss님의 게임 서버 강의에서 학습한 내용과 몇몇 인터넷 검색을 통해 정리하였다. Select WSAAsyncSelect WSAEventSelect Overlapped (event) Overlapped (callback) IOCP Async/Sync IO Sync IO Sync IO Sync IO Async IO Async IO Async IO Select Pros - 윈도우 뿐만 아니라 Linux 계열에서도 사용이 가능함 (이식성 우수) Cons - 호환성이 높은 만큼 성능이 다른 모델 보다 좋지 않음 (매번 fd_set 등록 필요) - 한번에 64개의 소켓까지 사용 가능 (FD_SETSIZE = 64) Methods 1. fd_set 초기화 (FD_ZERO) 2. socket 등록 (FD_SE..
본 포스팅은 인프런에 등록되어 있는 Rockiss 님의 강의를 보고 간단하게 정리한 글입니다. 이전에 나왔던 Select, Overlapped(event), Overlapped(callback)들은 장점도 있었지만 단점도 많은 기능이었다. 일반 비동기 호출: 매우 보기 불편해보이는 중첩 무한 반복문 Select: FD_SET 당 최대 64개 한정, 매번 set을 만들어줘야함, 완전한 비동기 방식이 아님, 성능 좋지 않음 WSAEventSelect: 한번에 소켓 64개 제한 Overlapped(event): 소켓과 이벤트를 1:1로만 대응시킴, 한번에 소켓 64개 한정(overlapped) Overlapped(callback): 매번 Alertable Wait 상태를 만들어야되는 시스템적 부담(OS에 의해..