Php 通知玩家另一个人正在挑战他
我正在为Android开发一款简单的多人纸牌游戏 我正在寻找最简单的(可能是免费的)解决方案来立即提醒玩家有人在挑战他 实际流量:Php 通知玩家另一个人正在挑战他,php,android,sockets,libgdx,server-sent-events,Php,Android,Sockets,Libgdx,Server Sent Events,我正在为Android开发一款简单的多人纸牌游戏 我正在寻找最简单的(可能是免费的)解决方案来立即提醒玩家有人在挑战他 实际流量: Player1按下一个按钮挑战player2 玩家2只有在按下“检查新挑战”按钮时才会在游戏中收到通知 所需流量: Player1按下一个按钮挑战player2 Player2几乎立即收到通知:如果游戏打开,则在游戏中;如果应用关闭,则通过通知 我的应用程序是用Java和LibGDX制作的 我的服务器是一个Linuxweb共享主机,带有PHP7.0.33,在
- Player1按下一个按钮挑战player2
- 玩家2只有在按下“检查新挑战”按钮时才会在游戏中收到通知
- Player1按下一个按钮挑战player2
- Player2几乎立即收到通知:如果游戏打开,则在游戏中;如果应用关闭,则通过通知
phpinfo()
中的一些详细信息:
- “Configure Command”具有
“--启用套接字=共享”
- “已注册的流套接字传输”具有
tcp、udp、unix、udg、ssl、sslv3、sslv2、tls、tlsv1.0、tlsv1.1、tlsv1.2
- “curl-UNIX_SOCKETS”=
true
- '套接字-套接字支持'='true'
- “默认套接字超时”=
true
- ,:Firebase解决方案的设置和研究似乎既复杂又耗时,服务器(我只有共享的web主机)或推送通知要求我从控制台手动发送通知
- :两次运行之间的时间限制为1分钟,显示通知的时间最长为2分钟,同时还有后台运行时间限制
- :(一种)它的“最小间隔为15分钟”
- :我试过了。如果.html和.php文件都在localhost上,则可以正常工作,但如果我将.php文件放在宿主上,则不会收到任何消息(即使在浏览器控制台的“网络”选项卡中每隔大约5秒出现一个新请求)
即使应用程序关闭,您建议如何在Android上实现一个时间更短的重复服务器HTTP请求?我认为一个好方法是调用REST API(不需要firebase),只有一个简单的web服务器和PHP+MYSQL才能做到这一点 我更多地来自PHP/JAVASCRIPT/MYSQL/AJAX世界…: AJAX的观点: •Javascript,定期或按需(div with onclick…)检查或“询问”PHP以获取某些数据,并以HTML格式返回该数据 在Android中,我认为本教程似乎很有趣: 用这个lib 像这样的
AndroidNetworking.get("https://www.com/getAllUsers/{pageNumber}")
.addPathParameter("pageNumber", "0")
.addQueryParameter("limit", "3")
.addHeaders("token", "1234")
.setTag("test")
.setPriority(Priority.LOW)
.build()
.getAsJSONArray(new JSONArrayRequestListener() {
@Override
public void onResponse(JSONArray response) {
// do anything with response
}
@Override
public void onError(ANError error) {
// handle error
}
});
如果这是一个游戏,玩家们会希望在有人挑战他们的时候立即知道,而不是在某个时间之后。当收到短信时,在其他用户发送短信后,也遵循同样的原则。所以我建议使用定制的广播接收器和网络sockets@javdromero你能给我推荐一个url来解释怎么做吗?我在后台使用PHP。根据您想要的框架,有一些选项,比如,或者我确信还有更多,这些是我已经做过的seen@javdromero谢谢,我看到了。我不能使用它们,请参阅我的编辑。您说您不能使用composer,但您能进一步澄清吗?如果需要,Composer可以直接作为phar运行,而不需要“安装”。您没有SSH访问权限吗?问题是如何尽快警告播放机。在移动设备上,连接、RAM、速度等资源是有限的。我应该避免在很短的时间内定期打电话;如果应用程序在后台使用了太多的资源(例如,当它关闭时),Android也会认为它是负面的。@user2342558我正在做一些研究,关于websocket与ajax与webrtc的争论。。。。对于多人游戏来说,webrtc有点奇怪,它可以提供点对点的实时数据交换(无需通过服务器)。在Webrtc中,服务器仅用于建立连接。一旦连接,数据就从一个节点传输到另一个节点。WebRTC对于视频聊天、音频聊天、文本聊天(任何数据…)也非常热门。此外,它是多平台桌面+android+ios+等。在WebRTC场景中,您可以在桌面上安装一个播放器,在android上安装另一个播放器(可以在移动应用程序的webview中安装)@user2342558我发现PeerJS我检查了demo=>1浏览器的发送和另一个浏览器的接收,连接和即时文本聊天双向(极快)