|
|
1
7
您试图实现的这类事情将使用常规Ajax调用耗费大量服务器资源。 类似问题: Link 让我们以两个用户之间的聊天为例: 用户的1页有一个Javascript计时器,每秒都会询问新消息: “嘿,服务器,给我发新消息。” 无论是否有新消息,服务器都将处理请求,搜索新消息以答复 “我现在没有你的留言” 或 “这是您的新消息” . 用户2也一样。 如果两个用户都将聊天页面打开10秒钟,您的服务器将收到20条新消息请求,将运行20次新消息搜索,并将发送20条带有新消息或“无新消息”回复的回复。即使两个用户都没有发送任何内容,只需保持页面打开即可。想象一下,如果1000个用户连接到您的聊天室! 在这种情况下,最好的方法是套接字。在同一个聊天示例中,用户1和用户2将保持收听新消息的状态,而不是每秒询问新消息。当用户1发送消息时,服务器将通知用户2“我有一条新消息给你。这是。” 如果连接了1000个用户,则根本没有问题。服务器将向套接字通道发送新消息,并通知所有连接的用户。没有延迟。 在您的特定情况下,将这样工作:播放器1和播放器2正在侦听新消息。当玩家1点击卡片时,将触发服务器命令。服务器将接收并发送一条套接字通道消息:“嘿,所有等待新卡的人,这里是”,然后会通知每个玩家。立即。 第一个场景中使用Javascript计时器的另一个问题是:如果增加计时器间隔,回复将延迟传递。 套接字的另一个优点是:它独立于技术。PHP、Java、Node等。 用于将WebSocket与Php结合使用的GitHub项目: Link You can see some socket demos here Here is a repository with some tests I ran when I tried Socket earlier |
|
|
2
3
您可以这样做:
|
|
|
Lukasz Re · 连续刷新页面时出现问题 7 年前 |
|
|
Jaymz1982 · AngularJS-修改数据后刷新我的UI 7 年前 |
|
|
quadrupleslap · 防止网站更改,永远 8 年前 |
|
|
Bjarne Gerhardt-Pedersen · Chrome/Internet explorer浏览器刷新(F5、ctrl+R、刷新箭头等)无法在远程服务器上使用Angular(2+)项目[关闭] 8 年前 |
|
Diego · 角度4仅刷新页面部分 8 年前 |
|
|
Jeremy · 带有变量和函数的PHP echo 8 年前 |