송출
FINISH가 무엇을 누구에게 보내는지: 진행 중인 레이스마다의 상태(순위, 랩, 기록)를 TABLEAU 전광판, VOICE 음성 합성, 그리고 네트워크의 모든 클라이언트에 보냅니다. 클라이언트가 들어오면 전체 상태를 보내고, 그 뒤로는 바뀐 내용만 보냅니다.
| 제품 | PC | 링크 | 주소 | 채널 | 시작 | 데이터 묶음 | KB | 대기 중 | 시계(ms) |
|---|---|---|---|---|---|---|---|---|---|
| TABLEAU | ECRAN-PUBLIC | TCP | 192.168.1.21 | 전체 | 13:30 | 1 284 | 412 | 0 | +2 |
| VOICE | SONO | TCP | 192.168.1.22 | 전체 | 13:31 | 1 280 | 405 | 0 | −1 |
- 송출 상태와 송출 다시 시작.
- 알림: 클라이언트가 FINISH를 스스로 찾습니다.
- 거의 모든 클라이언트가 쓰는 TCP 전송.
- ChronoFEED-SIM 허용.
- 연결된 클라이언트.
레이스는 송출이 체크되어 있고(레이스 정보), 불러왔거나 진행 중이거나 종료된 동안만 송출됩니다: 끝난 레이스는 곧바로 전광판에서 사라집니다. 전송 방식은 여러 개를 함께 쓸 수 있으며, 설정을 바꾸면 그 전송만 다시 시작합니다. TABLEAU와 VOICE로 송출 시나리오를 참조하십시오.
송출 다시 시작
위치: 송출, 맨 위
모든 전송(TCP, UDP, 데이터베이스, 알림, Redis)을 멈췄다가 다시 시작합니다. 클라이언트는 저절로 다시 연결해 전체 상태를 받습니다. 옆에 “송출:”과 켜진 전송(“TCP :8210 · 알림 · 시계 :8213”), 또는 “중지됨”이 나옵니다.
2초마다 네트워크에 FINISH 알리기
위치: 송출, 알림(검색) 카드. 기본으로 체크됨
전광판, VOICE, SIM이 주소를 입력하지 않아도 FINISH를 스스로 찾습니다(UDP, 포트 8212). 알림에는 비밀번호가 들어 있지 않습니다. 같은 네트워크에 FINISH가 두 대(트랙 두 개) 있으면 둘 다 알립니다: 클라이언트가 목록을 보여 주고 고른 이름을 기억합니다.
클라이언트에 표시되는 이름
위치: 송출, 알림 카드
클라이언트에서 보이는 이 FINISH의 이름(기본은 컴퓨터 이름). 여러 FINISH가 네트워크를 함께 쓸 때는 알아보기 쉬운 이름(“FINISH-Starford”)을 붙이십시오: 주소가 바뀌어도 각 클라이언트는 이 이름으로 자기 FINISH를 찾습니다.
IP(TCP)
위치: 송출. 기본으로 체크됨
클라이언트마다 연결 하나: 각 클라이언트는 전체 상태를 받은 뒤 바뀐 내용만 받으며, 느린 클라이언트가 다른 클라이언트를 늦추지 않습니다. 전달 보장, 선수 사진, 채널별 필터링. 기본 선택입니다(포트 8210).
ChronoFEED-SIM 허용
위치: 송출, 시뮬레이터(ChronoFEED-SIM) 카드. 기본으로 해제됨
모드(대회, 훈련, 시연)와 관계없이 SIM이 이 FINISH에 연결해 레이스를 시뮬레이션하게 합니다. 해제하면 거부됩니다(로그와 이 페이지에 표시). 연결된 SIM은 상태 표시줄에 나옵니다(“SIM 연결됨”, 주황 배경). 장비 없이 시험할 때만 쓰고, 대회에서는 체크를 해제하십시오.
UDP
위치: 송출
모든 화면에 한 번에 보냅니다(1200바이트 미만의 데이터그램. 전체 상태는 2초마다 다시 보냄). 멀티캐스트(권장) 또는 Broadcast, 그리고 포트(8211). UDP로 듣는 송출 프로토콜 클라이언트용입니다. TABLEAU와 VOICE는 UDP로 받지 않습니다(TCP로 연결하거나, 원격 전광판은 Redis를 씀).
멀티캐스트 그룹
위치: 송출, UDP 카드
그룹 주소(기본 239.255.82.10): UDP 클라이언트도 같은 주소를 들어야 합니다.
데이터베이스(PostgreSQL)
위치: 송출
바뀐 내용을 데이터베이스로도 보냅니다(“chronofeed_diffusion” 채널의 LISTEN / NOTIFY): 데이터베이스에는 접근할 수 있지만 전광판 네트워크에는 없는 클라이언트용입니다. 바뀐 내용만 받습니다. TABLEAU와 VOICE는 이를 쓰지 않습니다.
Redis(원격 전광판과 보관)
위치: 송출
다른 네트워크, 세계 어디에 있는 TABLEAU를 위해, 그리고 결과를 클라우드에 보관하기 위해 씁니다. Redis 서버는 직접 준비하며, 인증 정보는 이 PC에 Windows 암호화로 남습니다. Redis는 다른 전송과 같은 데이터 묶음을 대기열로 받습니다: 느리거나 끊겨도 아무것도 늦추지 않습니다. 연결 시험, 저장, 그다음 상태(“…에 연결됨 · 공간 “…” · 게시한 데이터 묶음 N개 · 원격 전광판: …”).
서버(호스트)
위치: 송출, Redis 카드
Redis 서버의 주소와 포트. 그 아래: 사용자(선택)(Redis 6 이상의 ACL 계정. 비우면 기본 계정)와 비밀번호(표시하지도 로그에 쓰지도 않음. 비우면 저장된 비밀번호 유지).
암호화된 연결(TLS)
위치: 송출, Redis 카드
클라우드 Redis는 거의 모두 이를 요구합니다. 자기 네트워크 안의 서버일 때만 체크를 해제하십시오.
공간(단체 또는 트랙)
위치: 송출, Redis 카드
모든 Redis 키는 “chronofeed:공간:”으로 시작합니다. 원격 전광판에도 같은 공간을 입력합니다.
전체 동기화
위치: 송출, Redis 카드, “결과를 Redis에 보관”
끝난 레이스는 모두 읽을 수 있는 JSON으로 Redis에 보관됩니다(그때그때, 그리고 10분마다 점검). 이 단추는 점검을 바로 실행합니다: 데이터베이스 전체를 훑어 빠졌거나 바뀐 것을 뒤에서 씁니다(계측은 계속됨). 취소로 멈춥니다. 이 데이터베이스에 없는 레이스도 제거: 기본으로는 보관소에 있지만 이 데이터베이스에 없는 레이스를 남겨 둡니다(다른 시즌). 체크하면 제거합니다. 보관 기간은 서버에 달려 있으니, 서버의 영속성과 “noeviction” 정책을 켜십시오.
연결된 클라이언트(TCP 및 Redis)
위치: 송출, 맨 아래
이 FINISH에 연결된 ChronoFEED 제품(전광판, 음성, 시뮬레이터): 컴퓨터, 연결(TCP 또는 Redis), 주소, 요청한 채널, 연결 시각, 보낸 데이터 묶음과 킬로바이트, 대기 중인 것, 따라잡기, FINISH와의 시계 차이와 정밀도(FINISH가 기준 시계이며, 클라이언트는 출발 시각부터 계시를 계산함). 단추는 클라이언트의 연결을 끊습니다(다시 연결함).
트랙 옆에서 보낸 변경(MAPPING)
위치: 송출, 트랙 옆 PC 목록 위(연결된 클라이언트 아래). 기본값 OFF
트랙 옆의 ChronoFEED-MAPPING PC가 배정된 트랜스폰더를 바꿀 수 있게 합니다. PC마다 승인해야 합니다. 요청은 창 위쪽에 표시됩니다(“수락”, “거부”). 5분 안에 응답이 없으면 만료되고 아무것도 바뀌지 않습니다. 승인한 PC는 여기에 표시되며, 각각 “접근 회수” 버튼이 있습니다. 모든 변경은 창 위쪽에 알림으로 표시되고 기록에 남습니다.
OFF: FINISH는 트랙 옆에서 보낸 모든 요청과 변경을 거부합니다. OFF로 바꾸면 모든 PC의 접근이 회수됩니다. 다시 ON으로 바꾼 뒤에는 PC마다 다시 요청하고 다시 승인받아야 합니다. 이 설정은 다음 실행에도 유지되며, ON / OFF 전환은 모두 기록에 남습니다.