gpt4 book ai didi

javascript - 用 Django 制作两人国际象棋应用程序——当对手移动时需要玩家的棋盘更新

转载 作者:行者123 更新时间:2023-11-30 15:08:14 24 4
gpt4 key购买 nike

所以每个玩家都有自己的网页,带有 Javascript 棋盘 GUI 界面,他们可以点击拖动棋子。当一个玩家移动时,我需要另一个玩家的棋盘来更新该移动。我看到当一个玩家移动时,我可以将移动发布到服务器,以便其他玩家可以请求它,但问题是在移动时向其他玩家发出信号,因此他们知道何时请求来自服务器的新移动并使用它来更新其页面上的 javascript。执行此操作的好方法是什么?

最佳答案

不需要任何复杂软件的第一个选项是轮询。假设有玩家 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 通信等等)。

希望对您有所帮助!

关于javascript - 用 Django 制作两人国际象棋应用程序——当对手移动时需要玩家的棋盘更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45446144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com