캐릭터 객체에 접근
1 :
1 : 1클라이언트 – 세션 - 캐릭터
라이브러리의 사용에서 ITZSession객체의 포인터만 있으면 송수신 버퍼를 통해 세션 객체와 연결된 클라이언트와 통신할 수 있고, 세션 객체와 연결된 캐릭터 객체에 접근 할 수 있다
FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.
Email: Нажмите что бы посмотреть
클라이언트 – 세션 - 캐릭터
라이브러리의 사용에서 ITZSession객체의 포인터만 있으면 송수신 버퍼를 통해 세션 객체와 연결된 클라이언트와 통신할 수 있고, 세션 객체와 연결된 캐릭터 객체에 접근 할 수 있다
세션이 완벽하게 연결됨
정상적인 패킷 송수신 가능 상태
접속이 끊어짐
서버의 경우 클라이언트의 로그 아웃 처리가 필요하고,
클라이언트의 경우 서버로의 재접속이 필요한 상태
CreateSendBuffer( SI32 size ) :버퍼 생성
ClearBuffer() :버퍼 비우기
GetSendParam( … ) :iocp호출을 위한 인자 추출
Completion( SI32 siSentBytes ) :iocp완료처리
IsReadyToSend() :보낼 데이터가 있는지 여부
주로 사용하는 함수
Write( char *pPacket ) :패킷을 버퍼에 쓴다
ITZRecvBuffer
ITZSendBuffer
서버에서 클라이언트들이 들어오는 입구이다
스레드로 포트를 감시하다가 새로운 클라이언트가 들어오면 SessionManager에 새로운 세션을 활성화 해준다
SessionManager의 목록을 만들어준다
(지정한 수 만큼의 세션 객체와 캐릭터 객체를 실제로 메모리에 생성해준다)
프로토콜 당 하나의 스레드가 동작한다
이 스레드는 SessionManager목록을 반복하면서
SessionProc()함수를 호출하여 패킷 처리를 구현 할 수 있도록 해준다
protocol
내부적으로 두 개의 스레드가 작동
내부적으로 하나의 스레드가 작동
서버 프로토콜 구성
ITZNetworkThread의 스레드 처리 과정
thread