我要创建一个游戏。 起初它将是浏览器游戏。 稍后它将是APP(Android,iPhone游戏)。
在服务器端,我使用nginx,apache,php。
=================
我需要告知在线玩家不同的事件。 例如:一个用户受到另一个用户的攻击。我应立即通知他。
古典AJAX不能错。我读过一些有关彗星,网络套接字和其他一些技术的内容。 但我仍然无法理解,哪种解决方案对我最好? 请帮我决定。
答案 0 :(得分:1)
WebSocket应该是首选选项。这是一项广泛支持的技术。
这是一种持久的全双工连接,与所有主流浏览器兼容http://caniuse.com/websockets
答案 1 :(得分:0)
也许你可以尝试服务器发送事件。
使用SSE,保持常量连接,直到页面被卸载,连接出现问题或者手动关闭连接。
每次发生某事时,例如如果玩家受到攻击,您会向客户端发送event
命令,然后根据事件数据采取行动。
虽然它在每个浏览器中都不起作用,但这是一种可以尝试的技术
http://www.html5rocks.com/en/tutorials/eventsource/basics/对SSE以及如何设置进行了进一步的解释
答案 2 :(得分:0)
使用WebSocket。使用此功能,您可以处理从客户端浏览器发送到服务器的数据(例如“用户A攻击用户B”)和通过单个通道从服务器发送的数据。这节省了服务器资源 - 并且拥有单一技术优于两个独立技术(AJAX +用于反向通道)。
此外,还有适用于Android和iOS的WebSocket库,因此您可以在未来附加本地客户端。
由于您需要同时将事件分发到多个客户端,因此请使用“发布”和“发布”等内容。在WebSocket上订阅会有意义。
我建议看看Crossbar.io - 它是一个开源应用程序路由器,它可以发布& amp;订阅即开始订阅。
完全披露:我为Crossbar.io开源项目的创始人Tavendo工作。