Sai lầm lớn nhất, chỉ đơn giản là chơi các trò chơi ở phía khách hàng và cho phép họ truyền đạt thông tin của họ khi họ nhìn thấy. Yêu cầu khách hàng giao tiếp đầu vào của họ và hiển thị một mô hình được gửi từ máy chủ theo các khoảng thời gian riêng biệt. (Lưu trữ các mô hình này trong một mảng với dấu thời gian của máy chủ, sau đó nội suy giữa hai dấu thời gian đã biết để hiển thị tất cả các diễn viên mỗi khung hình)
Tôi đã tạo một khung cụ thể để tạo các trò chơi nhiều người chơi trong thời gian thực HTML5, dựa trên mô hình Máy khách / Máy chủ. Trong mô hình này, người chơi chỉ gửi đầu vào cho máy chủ (nhấn phím) - và trò chơi xảy ra trên máy chủ.
Máy chủ sẽ gửi các ảnh chụp nhanh thế giới theo thời gian cho tất cả các máy khách và các máy khách tự hiển thị thời gian quay ngược thời gian 75 ms kể từ thời điểm hiện tại, bằng cách tìm thấy hai bản cập nhật thế giới đã biết của chúng rơi vào giữa.
Kho lưu trữ (chứa 3 bản demo)
https://github.com/encedayitwillmake/RealtimeMultiplayerNodeJs
Video thử nghiệm Box2D đang hoạt động:
http://vimeo.com/24149718
Các slide từ JSConf 2011: http://www.sl slideshoware.net/MarioGonzalez15/realtime-html5-multiplayergameswithnodejs-7868336
Nó dựa trên các trang trắng công cụ Nguồn của Quakeworld và Valve:
http://fabiensanglard.net/quakeSource/index.php http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
You should only ask practical, answerable questions based on actual problems that you face