prompts.chatprompts.chatprompts.chat
BotPromptKỹ năngQuy trìnhDanh mụcThẻCao thủ PromptPhong cách
SáchCho trẻ emNhà phát triển
Đăng nhập
CC0 2026 prompts.chat
DeepWikiHướng dẫn...Tài liệuAPIQuyền riêng tưĐiều khoảnHỗ trợGiới thiệuGitHub
Tất cả thẻ

Prompt WebSocket

2 prompt
Trò chơi Không chiến 3D Nhiều người chơi
Văn bản

Xây dựng một trò chơi không chiến nhiều người chơi sống động

Tạo một trò chơi không chiến nhiều người chơi sống động sử dụng Three.js, HTML5, CSS3 và JavaScript kết hợp với WebSocket để kết nối mạng thời gian thực. Triển khai mô hình máy bay 3D chi tiết với vật lý bay chân thực bao gồm điều khiển chúc/ngóc mũi (pitch), liệng hướng (yaw), nghiêng cánh (roll) và tay ga (throttle). Thêm điều khiển góc máy quay mượt mà đi theo máy bay của người chơi với các góc nhìn có thể cấu hình (buồng lái, góc nhìn đuổi theo phía sau, góc nhìn quỹ đạo xoay quanh). Tạo môi trường bầu trời (skybox) với thời gian động trong ngày và hiệu ứng thời tiết. Triển khai chức năng nhiều người chơi bằng WebSocket để cập nhật vị trí thời gian thực, chiến đấu và đồng bộ hóa trạng thái trò chơi. Thêm các hệ thống vũ khí với vật lý đường đạn, phát hiện va chạm trúng đích và mô hình sát thương. Bao gồm hiệu ứng hạt (particle effects) cho luồng khí thải động cơ, khai hỏa vũ khí, vụ nổ và hư hại. Tạo giao diện hiển thị trên kính buồng lái (HUD) cho biết tốc độ, độ cao, hướng bay, radar, máu và trạng thái vũ khí. Triển khai hiệu ứng âm thanh cho động cơ, vũ khí, vụ nổ và âm thanh môi trường bằng Web Audio API. Thêm các chế độ đấu bao gồm đấu sinh tử tự do (deathmatch) và đấu đội kèm hệ thống tính điểm. Bao gồm tính năng tùy chỉnh trang bị máy bay (loadouts) với các loại vũ khí và kỹ năng khác nhau. Tạo hệ thống phòng chờ (lobby) để tạo trận đấu và chia đội. Triển khai dự đoán phía máy khách (client-side prediction) và bù trễ mạng (lag compensation) để mang lại trải nghiệm nhiều người chơi mượt mà. Thêm bản đồ thu nhỏ (mini-map) hiển thị vị trí người chơi và các mục tiêu. Bao gồm hệ thống phát lại (replay) để xem lại trận đấu và tạo các đoạn cắt khoảnh khắc nổi bật. Tạo hệ thống điều khiển nhạy bén hỗ trợ cả đầu vào bàn phím/chuột lẫn tay cầm chơi game (gamepad).
JavaScriptWebSocketHTML+2
F@f
0
WebSocket Thời gian thực taste
Văn bản

Các quy ước giàu tính định hướng để xây dựng những tính năng thời gian thực bảo mật, có khả năng mở rộng bằng WebSockets.

# Gu thiết kế (taste) WebSocket Thời gian thực của một kỹ sư hệ thống thời gian thực
- Sử dụng WebSockets thuần hoặc một thư viện mỏng nhẹ như ws cho các trường hợp đơn giản, và chỉ tìm đến Socket.IO khi bạn thực sự cần cơ chế dự phòng (fallbacks) và quản lý phòng (rooms) của nó. Độ tin cậy: 0.75
- Ưu tiên dùng Server-Sent Events (SSE) khi dữ liệu cập nhật chỉ chảy một chiều từ máy chủ xuống máy khách. Độ tin cậy: 0.85
- Xác thực ngay trong quá trình bắt tay (handshake) bằng một token có thời hạn ngắn, tuyệt đối không bao giờ tin tưởng vào user ID được gửi kèm trong một bản tin sau đó. Độ tin cậy: 0.95
- Kiểm tra header Origin trên các yêu cầu nâng cấp kết nối (upgrade requests) để chặn tấn công chiếm quyền điều khiển WebSocket liên trang (cross-site WebSocket hijacking). Độ tin cậy: 0.90
- Định nghĩa mọi bản tin dưới dạng một gói bọc có kiểu tường minh (typed envelope) gồm loại bản tin (type), phiên bản (version) và dữ liệu tải (payload), được xác thực bằng schema ở cả hai đầu. Độ tin cậy: 0.90
- Gửi tín hiệu nhịp tim (heartbeats) bằng ping và pong và đóng các kết nối bỏ lỡ chúng, vì các máy chủ proxy thường âm thầm ngắt những socket nhàn rỗi. Độ tin cậy: 0.90
- Kết nối lại ở phía máy khách theo cơ chế lùi lũy thừa kèm độ lệch ngẫu nhiên (exponential backoff and jitter) để việc khởi động lại máy chủ không gây ra hiệu ứng đàn thú chạy loạn (thundering herd). Độ tin cậy: 0.95
- Gắn cho mỗi bản tin một số thứ tự (sequence number) để máy khách có thể tiếp tục nhận từ bản tin cuối cùng mà chúng nhìn thấy sau khi kết nối lại. Độ tin cậy: 0.85
- Coi socket như một kênh thông báo và giữ cơ sở dữ liệu làm nguồn chân lý chuẩn xác (source of truth) mà máy khách có thể truy vấn lại. Độ tin cậy: 0.85
- Phân phối bản tin (fan out) qua nhiều thực thể máy chủ bằng Redis pub/sub, NATS hoặc một dịch vụ được quản lý thay vì phát quảng bá trong bộ nhớ (in-memory broadcast). Độ tin cậy: 0.90
- Giữ cho các máy chủ kết nối ở trạng thái phi trạng thái (stateless) ngoại trừ các socket đang mở, để bất kỳ thực thể nào cũng có thể được rút cạn kết nối (drain) và thay thế. Độ tin cậy: 0.80
- Rút cạn kết nối một cách êm thấm (drain gracefully) khi triển khai bản mới bằng cách báo cho máy khách chủ động kết nối lại trước khi tắt máy chủ. Độ tin cậy: 0.85
- Áp dụng cơ chế chống tràn ngược (backpressure): theo dõi bộ đệm gửi (send buffer) và loại bỏ hoặc gộp các bản cập nhật đối với những máy khách xử lý chậm thay vì tích trữ vào bộ đệm mãi mãi. Độ tin cậy: 0.85
- Giới hạn tần suất (rate limit) các bản tin gửi đến trên mỗi kết nối và giới hạn kích thước tối đa của bản tin. Độ tin cậy: 0.90
- Phân quyền cho mọi yêu cầu đăng ký (subscription) vào một phòng hoặc kênh ở phía máy chủ, chứ không chỉ kiểm tra ở lần kết nối ban đầu. Độ tin cậy: 0.95
- Gom nhóm (batch) hoặc tiết lưu (throttle) các cập nhật tần suất cao như vị trí con trỏ chuột theo một nhịp xung (tick rate) cố định. Độ tin cậy: 0.80
- Cấu hình thời gian chờ nhàn rỗi (idle timeouts) của bộ cân bằng tải và phiên kết dính (sticky sessions) một cách có chủ đích khi tầng truyền tải cần đến chúng. Độ tin cậy: 0.80
- Theo dõi số lượng kết nối đang mở, số bản tin mỗi giây, tỷ lệ kết nối lại và độ trễ chuyển phát như những chỉ số đo lường (metrics) hạng nhất. Độ tin cậy: 0.85
- Sử dụng các cấu trúc CRDT như Yjs hoặc Automerge cho tính năng chỉnh sửa cộng tác thay vì tự phát minh ra cơ chế giải quyết xung đột của riêng bạn. Độ tin cậy: 0.80
- Kiểm thử tải (load test) với số lượng kết nối sát thực tế bằng k6 hoặc Artillery trước khi ra mắt. Độ tin cậy: 0.80
BackendBest PracticesWebSocket+2
F@f
0