所以每個玩家都有自己的網頁,並帶有一個Javascript chessboard的GUI界面,他們可以點擊拖動棋子。當一個玩家移動時,我需要另一個玩家的棋盤來更新這個移動。我明白了當一名球員進行動作時,我可以將動作發送到服務器,以便其他球員可以請求動作,但問題是在動作完成時向另一名球員發出信號,以便他們知道何時請求從服務器的新舉措,並使用它來更新其頁面上的JavaScript。什麼是一個很好的技術來做到這一點?用Django製作兩個棋手應用程序 - 需要玩家棋盤來更新對手的動作
1
A
回答
1
您的第一個不需要任何複雜軟件的選項就是輪詢。比方說,有玩家A和玩家B正在下棋。您可以讓玩家A和B的客戶端在任何時間段過去時要求服務器進行更新。這不是最優化的解決方案,但它會起作用。
喜歡的東西:
function callServerAndWait500Milisecounds(){
setTimeout(function(){
$.ajax({
url: "/your_url_to_server?playerId=" + playerId,
method: "GET",
success: function(data){
//analize data from server and do something with it
}
});
}, 500)
}
$(document).ready(function(){
//code that fires when client side is loaded
setTimeout(function(){callServerAndWait500Milisecounds();}, 500);
});
如果您正在使用C#MVC的服務器端,那麼你可以使用SignalR庫。鏈接:https://www.asp.net/signalr。這個庫允許客戶端調用服務器上的某些東西,最重要的是它允許服務器在客戶端使用JavaScript編寫的函數。這個庫很棒,它可以爲你管理很多東西,比如管理用戶組(如果玩家A和玩家B玩,玩家C玩家D玩,那麼A應該只能和B通信等)。
希望它有幫助!
1
使用Django的電視頻道,在https://github.com/django/channels
這是一個WebSockets的擴展Django的一個正式Django項目。
Websockets允許您向客戶端發送消息,而無需客戶端輪詢。在https://github.com/andrewgodwin/channels-examples有一個很好的例子。
相關問題
- 1. 用動態編程玩弄棋盤格
- 2. 製作一個動態的棋盤響應用戶輸入jQuery
- 3. 試圖製作棋盤格
- 4. 如何製作棋盤?
- 5. 製作一個簡單的棋盤
- 6. 從JButton製作一個棋盤
- 7. 在隨機棋盤上移動棋盤上的棋子
- 8. java棋盤棋盤問題
- 9. Unmake移動與棋盤編程的棋盤
- 10. 如何在numpy中製作棋盤格?
- 11. 如何讓我的兩個球員跳棋應用程序,一個球員跳棋應用程序
- 12. 動態編程:棋盤
- 13. 象棋滑動件位棋盤
- 14. 用python製作一個8 * 8的pygame棋盤
- 15. Pygame:Snap-to-grid /棋盤棋局
- 16. 棋盤使用JavaFX
- 17. 製作棋盤式圖形(java小程序)
- 18. 需要更新friendly_id手動
- 19. WPF控件需要建立國際象棋應用程序
- 20. 手動更新ClickOnce應用程序
- 21. 棋盤的JPanel
- 22. 在Java中製作象棋遊戲,我想移動棋子
- 23. 如何在C++中使用可變大小的棋盤來創建棋盤格?
- 24. 手動校正OpenCV桶形失真,沒有棋盤圖像
- 25. 玩家類中需要玩家對象
- 26. 新手程序員需要動機
- 27. 需要算法來設置我的遊戲棋盤上的棋子用Java編寫
- 28. java中的棋盤和棋子設計
- 29. 用Javascript創建一個二維棋盤遊戲對象,用於棋局遊戲
- 30. 製作中國象棋程序的圖形用戶界面
幾種方法將使用websockets或WebRTC。後者是點對點通信。兩者都是實時更新 – charlietfl
感謝您的提示。有沒有機會知道一個好的資源可以解釋如何更詳細地使用它? – Vik78
易於在網絡上研究這兩種技術 – charlietfl