Tôi đang làm việc trên một dự án để tìm hiểu node.js và đang tìm kiếm một số đề xuất về cách xử lý đồng bộ hóa dữ liệu người dùng trong thời gian thực .Đề xuất mẫu thiết kế để đồng bộ hóa dữ liệu nhiều người dùng trong trò chơi trực tuyến trong thời gian thực
Giả sử bạn có bản đồ hình chữ nhật 2D (khoảng 600x400), với một số người chơi chiếm vị trí x, y trên bản đồ đó. Mỗi người dùng có thể điều hướng xung quanh bằng các phím mũi tên và tương tác với những người khác theo một số cách cơ bản. Do điều này sẽ được phát qua HTTP, mẫu thiết kế tốt nhất về mặt xử lý và đồng bộ hóa dữ liệu người dùng là gì để mang đến trải nghiệm mượt mà nhất, hấp dẫn nhất?
tôi có thể nghĩ ra một vài lựa chọn, nhưng sẽ đánh giá cao một số ý tưởng hơn/làm rõ:
Khách hàng gửi dữ liệu vị trí để máy chủ, máy chủ phân phối tất cả các vị trí cho tất cả các khách hàng, màn hình được trả lại với kết quả. Nói lại. Nhược điểm sẽ được rằng phía khách hàng bị tụt hậu bởi thời gian cần cho một chuyến đi vòng dữ liệu, nhưng ngược lại là chúng được đồng bộ hóa với tất cả người dùng.
Khách hàng hiển thị nơi nó cho là liên tục, gửi dữ liệu vị trí đến máy chủ, máy chủ phân phối tất cả các vị trí cho tất cả khách hàng và sau đó hiển thị màn hình từ dữ liệu máy khách. Upside là một phản ứng nhanh hơn, nhược điểm là một chút mất đồng bộ.
Sự pha trộn của hai, nhưng thay vì sử dụng tọa độ (x, y), chúng tôi sử dụng vectơ [x/y và thời gian trước đó, x/y và thời gian hiện tại, x/y được đề xuất tại khoảng thời gian ] mà sau đó có thể được sử dụng để vẽ các đường dẫn chiếu liên tục thay đổi. Có vẻ như điều này sẽ khó thực hiện.
Mọi con trỏ?
sử dụng socket.io để liên lạc – Alfred