The*_*eal 15 node.js laravel angular
我构建了一个应用程序,我打算与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的实时应用程序(似乎websockets)的最佳方法,以获得我想要实现的目标的结果?
在这种情况下,Laravel 只是模板化和提供客户端文件,并充当客户端和 socket.io 服务器之间的接口。它实际上并不充当 socket.io 服务器,我也不相信它可以。
所以,是的,您仍然需要一些东西(节点)来托管 socket.io 服务器,以便通过 PHP 或其他方式与客户端交互。就我个人而言,我会完全跳过 Laravel/PHP,只使用 Node 和 koa/express/whatever 来模板化您的客户端(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>" );
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4583 次 |
| 最近记录: |