Socket server สำหรับสนามกอล์ฟ — รับตำแหน่งรถกอล์ฟแบบ real-time แล้วตอบรายการรถคันอื่นในรัศมี
หน้านี้รวมตัวอย่างหน้าจอทั้งหมด เพื่อดูว่า contract ที่ออกแบบไว้เอาไปวาดหน้าจอได้จริง
หน้าจอบนรถกอล์ฟ — วงโซนแดง/เหลือง/เขียว, รายการรถที่อยู่ใกล้เป็นหลา, หลุมปัจจุบันและระยะถึงกรีน
จำลอง · ไม่ต้องต่อ serverภาพรวมทั้งสนาม — กลุ่มรถที่กระจุกกันพร้อมรัศมีและจำนวน เรียกขอข้อมูลใหม่ทุก 5 วินาที
ต่อ server จริงขอ token → ต่อ socket → ส่งตำแหน่ง → ดูรถคันอื่น ต้องรัน server พร้อม PostgreSQL และ Redis
ทั้งสองหน้ายัง ไม่ได้ต่อ socket จริง เพราะ server ยังไม่ implement contract ใหม่
(ตารางหลุม / คะแนน / user ของ web ยังไม่มา) จึงใช้ engine จำลองใน
demo/golf-demo.js ที่สร้าง response ตาม contract เป๊ะๆ
พร้อมรถ 52 คันวิ่งบนสนาม 18 หลุม
เวลา server พร้อม ให้เปลี่ยนแค่จุดที่เรียก GolfDemo.updateLocation() /
GolfDemo.siteOverview() เป็น SignalR invoke จริง — โค้ดส่วนวาดไม่ต้องแก้เลย
เพราะรับ JSON โครงเดียวกัน
viewBox ให้หน่วยเป็น หลา ค่า radius_yards
ที่ server ส่งมาจึงใช้เป็นรัศมีวงกลมได้ทันที ไม่ต้องแปลงหน่วยอีก
ในระบบจริงค่าเหล่านี้มาจาก "GPS"."SystemConfiguration" ไม่ได้ hard-code ในแอป
| Key | ค่า | ใช้ทำอะไร |
|---|---|---|
zone_danger_to_yards | 150 | วงแดง |
zone_warning_to_yards | 250 | วงเหลือง |
search_radius_yards | 300 | วงเขียว + รัศมีค้นหาสูงสุด |
density_radius_yards | 150 | รัศมีจับกลุ่มความหนาแน่น |
density_warning_carts | 5 | กลุ่มเริ่มเป็นสีเหลือง |
density_danger_carts | 10 | กลุ่มเป็นสีแดง |
docs/04-socket-protocol.md | contract ของทั้ง 2 hub |
docs/08-density-clustering.md | algorithm จับกลุ่ม + ผลทดสอบความนิ่ง |
docs/mock/*.json | ตัวอย่าง response สำหรับทีม Android / web |