7.3.5 EH 메신저 로긴 요청 서비스 [TCP/IP 소켓 프로그래밍 with 윈도우즈]

Peer가 로긴 요청을 FendSVC를 거쳐 LogSVC에게 전달하면 LogSVC는 DbmSVC에게 계정이 존재하는지 확인합니다. 만약 계정이 존재하면 이미 로긴 상태인지 확인합니다. 로긴 상태가 아니면 아이디와 비밀 번호가 일치 여부를 확인합니다. 그리고 일치하면 로긴 준비 상태로 전환합니다. 참고로 Peer가 상태 서비스에게 첫 KeepAlive 메시지가 전달한 이후에 로긴 상태로 변합니다.

[그림 7.7] 로긴 요청 시퀀스 다이어그램
[그림 7.7] 로긴 요청 시퀀스 다이어그램
다음은 로긴 요청에서 사용하는 메시지입니다.

번호 메시지 인자 리스트 채널번호 설명
1, 2 LoginReq id, pw 1, 3 로긴 요청(아이디, 비밀 번호, 이름)
3 IDExist id 5 아이디 존재 확인 요청(아이디)
4 IDExistAck isexist 5 아이디 존재 확인 응답(존재 여부)
5 UserSts id 5 사용자 상태 요청(아이디)
6 UserStsAck status 5 사용자 상태 응답(상태)
7 IsCorrect id,pw 5 아이디, 패스워드 일치 확인 요청(아이디, 비밀번호)
8 IsCorrectAck result 5 아이디, 패스워드 일치 응답(일치 여부)
9 ChangeSts id,STS_LOGINING 5 상태 변경 요청(아이디, 상태:STS_LOGING)
10,11 LoginRes result 1,3 로긴 요청 응답(결과)