2025/04/06 2

다중서버정리(iocp)

iocp기반임. 250401/250403 수업 (아직 미완성..) 비동기 다중접속에서 Accept는 AcceptEx로 해준다..일단 여기서도 EXP_OVER로 OVERLAPPED 구조체를 확장시켜줘서 사용함.각 EXP_OVER는 자기가 어떤... 작업인지 정보를 갖고있음(수업에선 enum통해서 작업 구분함.. IO_RECV, IO_SEND, IO_SEND로..) EXP_OVER안에... os에 넘길 비동기 정보 WASOVERLAPPED구조체가 있음Overlapped 구조체... 모든 send, recv는 이 구조체가 필요.하나의 구조체를 여러 호출에서 사용하는건 불가능!! 개당 하나씩 필요.소켓당, recv호출은, 무조건 하나씩...!!!!소켓당, send호출은 여러개 가능하다.. -> 이게 브로드 캐스..

서버 2025.04.06

일대일서버정리

IOCP가 뭐야? (InputOutputCompletionPort)Windows에서 고성능 네트워크/파일 비동기 처리를 위해 만든 시스템 큐비동기 작업이 끝나면 os가 큐에 완료했다고 넣어주고, 우리는 그걸 꺼내쓰는 방식...게임서버의 핵심은 IOCP.. iocp를 쓰겠다고 하면, 커널에 iocp 객체를 생성, 걔를 통해서 io를 진행! WSAOVERLAPPED└ Windows에서 비동기 io작업을 위한 구조체임...작업의 상태와 완료 정보를 담는 상자... 그냥 recv, send└ 이 함수들을 호출 시 작업이 끝날 때 까지 코드가 멈춘다.. WSARecv, WSASend└ 작업만 시작해주고, 바로 리턴. 나중에 작업이 완료되면 그 사실을 IOCP나 이벤트를 통해 통지받음.이때 이 작업 진행 상태 및 ..

서버 2025.04.06