我构建了一个应用程序,并计划与Angular 2和laravel进行实时战斗。例如,您按下“攻击”按钮,对手就会实时看到自己的生命正在下降。
我的应用程序构建有:
前端: Angular 2
后端: PHP Laravel 5.2
现在,我正在搜索和学习我的实时战斗组件,并且看到了不同的指南和教程:
第一个教程是关于如何使用Laravel 5和socket io的。
在第二一个是如何利用角2 NODS JS和插座IO。
我说的是实时,是指两个用户在屏幕上看到的都是同一件事。
我的后端和前端完全分开了,我的应用程序中的任何地方都没有设置NodeJS。
两个用户都需要在我的应用中查看战斗中发生的动作,并且需要通过我的laravel API并通过Angular 2战斗组件进行显示
我的问题是-
使用Angular2和Laravel 5.2获得我想要达到的预期结果的实时应用程序(似乎是Websocket)的最佳方法是什么?
在这种情况下,Laravel只是模板和提供客户端文件,并充当客户端和socket.io服务器之间的接口。它实际上不充当socket.io服务器,我不相信它可以。
因此,是的,您仍然需要某些(节点)来托管socket.io服务器,以通过PHP或其他方式与客户端进行交互。就个人而言,我将完全跳过Laravel / PHP,而只将node与koa / express /随便使用什么来模板化您的客户端(html / js / css / etc)文件。感觉像对我来说是不必要的抽象。
下面的代码socket.blade.php
已经与实际socket.io
服务器建立了连接,因此我不明白为什么通过PHP / Laravel进行HTTP POST的额外开销是一个好主意。也许是安全性,但是您也可以使用实际的socket.io服务器来处理。
var socket = io.connect('http://localhost:8890');
socket.on('message', function (data) {
$( "#messages" ).append( "<p>"+data+"</p>" );
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句