7.3.9 EH 메신저 로긴 정보 전송 시퀀스 [TCP/IP 소켓 프로그래밍 with 윈도우즈]

로긴 정보 전송은 Peer가 로긴을 성공하여 첫 KeepAlive 메시지를 StsSVC에게 보냈을 때와 StsSVC의 주기적으로 마지막 KeepAlive 메시지를 수신한 시간을 확인하여 약속한 시간을 초과하였을 때 수행하는 시퀀스입니다.

만약 Peer가 로긴을 성공하여 첫 KeepAlive 메시지를 StsSVC에게 보내면 StsSVC는 이미 로긴한 계정의 정보를 새로운 Peer에게 전송합니다. 그리고 이미 로긴한 계정의 Peer에게 첫 KeepAlive 메시지를 보낸 Peer의 계정 정보를 전송합니다.

그리고 StsSVC의 주기적으로 마지막 KeepAlive 메시지를 수신한 시간이 약속한 시간을 초과하면 이미 로긴한 Peer들에게 시간을 초과한 Peer의 계정 정보를 전송합니다.

Peer에서는 전달받은 인자의 ip 값이 0이면 상대 Peer가 로그아웃 상태로 인식하고 그렇지 않다면 새로운 로긴 계정으로 인식합니다.

[그림 7.11] 로긴 정보 전송 시퀀스 다이어그램

다름은 로긴 정보 전송에 사용하는 메시지입니다.

번호메시지인자 리스트채널번호설명
1OtherUserInfoid,ip,smsgport,fileport6계정 정보(아이디,ip,숏메시지 포트,파일 포트)

이 책에서는 프로토 타이핑과 DB 설계 및 작업 분배, 상세 스케쥴 등의 작업은 생략할게요. 보다 깊은 학습을 원하시는 분은 개발 방법론에 관한 학습 자료를 통해 보다 깊은 이해와 활용 능력을 키우세요.