레거시 클라이언트
HandyCafe는 같은 서버에서 현대 클라이언트와 함께 V3 및 V4 클라이언트 설치를 관리할 수 있습니다. 레거시 클라이언트는 원래 프로토콜이 지원하는 기능에 맞춘 축소된 작업 집합과 함께, 관리자 패널에서 별도의 카드 유형으로 표시됩니다.
관리자 패널에서 레거시 클라이언트를 보려면 먼저 설정 > 레거시 클라이언트에서 런타임 지원을 켜야 합니다.
레거시 클라이언트가 보이는 방식
레거시 클라이언트는 원래 UDP 멀티캐스트 프로토콜을 통해 서버에 연결합니다. 현대 클라이언트처럼 mDNS를 사용하지 않습니다. 대신 서버는 두 가지 방식으로 이들을 찾습니다.
| 탐지 경로 | 트리거 |
|---|---|
| TCP 로그인 | 클라이언트가 TCP 명령 포트로 LoginRequest를 보냅니다. 서버는 피어를 기록하고 연결됨 이벤트를 발생시킵니다. |
| UDP 핑 | 클라이언트가 멀티캐스트 그룹에 Ping 프레임을 브로드캐스트합니다. 서버가 이를 받아 피어 기록을 갱신하고 온라인 이벤트를 발생시킵니다. |
MAC별 상태는 IP, 호스트명, 로그인한 사용자, 클라이언트 버전, 세션 타이머, 마지막 감지 시각과 함께 레거시 클라이언트 저장소에 보관됩니다. 들어오는 모든 프레임은 비활성 타이머를 재설정합니다. 타이머가 트래픽 없이 만료되면(기본 10초) 클라이언트는 오프라인으로 표시됩니다. 이 레코드는 기록 보존을 위해 데이터베이스에 남습니다.
레거시 클라이언트 카드
각 레거시 클라이언트는 현대 클라이언트 카드와 구분되는 카드로 표시됩니다. 헤더에는 표시 이름(가능하면 호스트명, 아니면 MAC), 색상이 있는 온라인/오프라인 배지, 상태 레이블이 표시됩니다.
상태 색상과 레이블
| 상태 | 색상 | 의미 |
|---|---|---|
| Online | 녹색 | 활성 세션이 실행 중입니다. |
| Idle | 청록색 | 클라이언트가 연결되어 있고 대기 중입니다. 활성 세션은 없습니다. |
| Paused | 호박색 | 세션이 일시정지되어 있습니다. 과금이 멈춥니다. |
| Busy | 보라색 | 클라이언트가 요청을 처리 중입니다. |
| Payment | 장미색 | 결제 흐름 중입니다. |
| Admin | 남색 | 관리자 또는 유지보수 모드입니다. |
| Offline | 회색 | 최근 트래픽이 없습니다. 클라이언트가 다시 온라인이 될 때까지 작업이 비활성화됩니다. |
| Timed | 하늘색 | 마감 시간이 있는 시간 제한 세션이 실행 중입니다. |
세션 시계
세션이 활성화되면 카드에 시계 블록이 표시됩니다.
- 시작 시간
- 종료 시간(시간 제한 세션의 경우)
- 사용된 분
- 실시간 카운트다운이 있는 남은 분
- 누적 비용
식별 정보
카드에는 항상 다음이 표시됩니다.
- MAC 주소
- IP 주소
- 클라이언트 버전(예:
3.4.01) - 로그인한 사용자(있는 경우)
작업 도구 모음
클라이언트가 온라인이면 식별 정보 아래의 작업 도구 모음에서 사용할 수 있는 작업이 표시됩니다.
세션 제어
| 버튼 | 표시 조건 | 동작 |
|---|---|---|
| Login | 상태가 Idle일 때 | 기기 로그인 대화상자를 엽니다. 분 수와 결제 수단을 선택합니다. 서버가 선택한 값으로 Login 명령을 보냅니다. 세션은 클라이언트에서 시작됩니다. |
| Logout | 상태가 Online, Timed, Paused, Busy, Payment일 때 | 세션이 후불이면 결제 대화상자가 금액과 수단을 받습니다. 거래가 원장에 기록됩니다. 서버가 Logout 명령을 보냅니다. 세션은 클라이언트에서 종료됩니다. |
시간 추가
분 선택기를 엽니다. 양수는 연장, 음수는 차감입니다. 절댓값의 최대값은 양방향 모두 10,000분입니다. 선불과 후불 세션 모두에서 작동합니다.
요금 설정에서 미리 정의한 분 값을 구성했다면 카드에 프리셋 버튼 행도 표시됩니다. 선택기를 열지 않고 값을 적용하려면 프리셋을 탭하세요.
스크린샷
파일 전송 포트를 통해 레거시 클라이언트에서 실시간 스크린샷을 요청합니다. 흐름은 다음과 같습니다.
- 서버가 스크린샷 요청 명령을 보냅니다.
- 클라이언트가 임시 포트의 짧은 수명 TCP 리스너를 엽니다.
- 서버가 연결해 9바이트 파일 전송 헤더를 보내고 대기합니다.
- 클라이언트가 화면을 캡처해 압축 BMP로 인코딩한 뒤 스트리밍으로 돌려보냅니다.
- 서버가 BMP를 압축 해제해 HandyCafe 데이터 디렉터리 아래의
legacy_screenshots폴더에 저장합니다. - 스크린샷 뷰어가 새 이미지와 함께 열립니다.
클라이언트가 지정된 시간 안에 응답하지 않으면(연결 30초, 데이터 20초 기본값) 요청이 실패하고 오류 토스트가 나타납니다. 즉시 다시 시도할 수 있습니다.
전원 작업
| 작업 | 확인 | 효과 |
|---|---|---|
| Logoff | 없음 | 클라이언트 PC의 Windows 사용자를 로그오프합니다. Windows 세션은 끝나지만 컴퓨터 전원은 켜진 상태입니다. |
| Reboot | 필요 | 재부팅 명령을 보냅니다. 클라이언트 PC가 다시 시작됩니다. |
| Shutdown | 필요 | 종료 명령을 보냅니다. 클라이언트 PC의 전원이 꺼집니다. |
Reboot와 Shutdown에는 실수로 전원 작업을 실행하는 일을 막기 위한 확인 대화상자가 표시됩니다.
지원되지 않는 작업
레거시 클라이언트는 현대 HandyCafe 클라이언트의 모든 기능을 지원하지 않습니다. 주요 차이는 다음과 같습니다.
- 세션 중 일시정지 조정 불가. 세션이 일시정지된 상태에서 보낸 시간 변경은 대기열에 들어가지만, 클라이언트가 무시할 수 있습니다. 먼저 세션을 재개하고 변경을 적용한 뒤 필요하면 다시 일시정지하세요.
- 서버 명령으로 관리자 모드 전환 불가. 클라이언트의 내부 관리자 상태는 서버에서 바꿀 수 없습니다. 관리자 모드는 클라이언트 머신에서만 제어됩니다.
- 서버에서 라이선스 등록 불가. 서버는 클라이언트 프레임에서 보는 라이선스 바이트를 미러링할 뿐, 새 라이선스를 클라이언트에 푸시할 수는 없습니다. 클라이언트는 로컬에서 등록해야 합니다.
- 레거시 클라이언트에서 시작한 세션에는 회원 지갑 통합이 없음. 결제는
transaction_type=sessions와 클라이언트 MAC을 가진 일반transactions행으로 기록됩니다. 현대 지갑 흐름은 적용되지 않습니다. - 원격 데스크톱 없음. 원격 데스크톱 기능은 레거시 클라이언트에 없는 UDP 스트리밍 경로를 사용합니다.
- 파일 동기화 푸시 없음. Sync Explorer는 현대 프로토콜에서만 파일을 푸시합니다.
전체 기능이 필요하다면 가능한 한 현대 HandyCafe 클라이언트로 마이그레이션하세요.
오프라인 동작
비활성 타임아웃이 지나면 카드가 흐려지고 상태 배지가 회색으로 바뀌며 모든 작업 버튼이 비활성화됩니다. 클라이언트 기록은 저장소에 남아 기록, MAC, 호스트명, 마지막 감지 정보를 보존합니다. 클라이언트가 다시 온라인이 되면(새 UDP 핑 또는 TCP 로그인) 카드가 다시 살아나고 작업을 사용할 수 있습니다.
기록은 자동으로 삭제되지 않습니다. 오래된 클라이언트를 영구적으로 제거하려면 관리자 데이터베이스에서 편집하거나 관련 관리자 도구로 삭제하세요.
팁
- 레거시 클라이언트가 더 느리게 비콘을 보낸다는 것을 알고 있지 않다면 비활성 타임아웃은 10초로 유지하세요. 더 짧은 타임아웃은 잠깐의 네트워크 흔들림에도 건강한 클라이언트를 오프라인으로 잘못 표시합니다.
- 레거시 클라이언트가 온라인처럼 보이는데 명령에 응답하지 않으면 설정에서 프로토콜 변형을 확인하세요. 서버 변형(STE vs Standard)과 클라이언트 빌드가 맞지 않으면 조용히 명령이 빠집니다.
- 레거시 클라이언트의 스크린샷은 압축 BMP이므로 현대 PNG 캡처보다 큽니다. 많이 캡처한다면
legacy_screenshots폴더를 여유 공간이 충분한 드라이브에 두세요. - 교대 전환 시에는 프리셋 버튼과 함께 시간 추가를 사용하세요. 한 번의 탭으로 세션이 미리 정해진 단위만큼 연장되어 분을 직접 입력하는 것보다 빠릅니다.
- 레거시 클라이언트는 점진적으로 정리하세요. 한 번에 한 묶음씩 옮기고, 새 클라이언트가 관리자 패널에서 똑같이 동작하는지 확인한 뒤에만 옛 클라이언트를 폐기합니다.