标签: laravel-echo

机器重新启动后,pm2受管进程处于错误状态

我正在使用pm2(版本3.4.1)来管理Laravel Echo Websocket服务器。它运行完美,但是我试图让它在计算机重启(运行Ubuntu 16.04)后自动启动。为此,我遵循以下说明

$ pm2 startup
[PM2] Init System found: systemd
[PM2] To setup the Startup Script, copy/paste the following command:
sudo env PATH=$PATH:/usr/bin /usr/local/share/.config/yarn/global/node_modules/pm2/bin/pm2 startup systemd -u kramer65 --hp /home/kramer65

$ sudo env PATH=$PATH:/usr/bin /usr/local/share/.config/yarn/global/node_modules/pm2/bin/pm2 startup systemd -u kramer65 --hp /home/kramer65
[sudo] password for kramer65: 
[PM2] Init System found: systemd
Platform systemd
Template
[Unit]
Description=PM2 process manager
Documentation=https://pm2.keymetrics.io/
After=network.target

[Service]
Type=forking
User=kramer65
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Environment=PM2_HOME=/home/kramer65/.pm2
PIDFile=/home/kramer65/.pm2/pm2.pid

ExecStart=/usr/local/share/.config/yarn/global/node_modules/pm2/bin/pm2 resurrect
ExecReload=/usr/local/share/.config/yarn/global/node_modules/pm2/bin/pm2 reload …
Run Code Online (Sandbox Code Playgroud)

javascript process-management pm2 laravel-echo

20
推荐指数
1
解决办法
330
查看次数

Laravel Echo - default.a.channel不是一个函数

我正在尝试使用pusher设置Laravel Echo,以实现实时通知.

首先,我安装了Laravel Echo和Pusher:

npm install --save laravel-echo pusher-js
Run Code Online (Sandbox Code Playgroud)

在此之后, bootstrap.js 我已取消注释代码(如指南所说):

import Echo from "laravel-echo"

window.Echo = new Echo({
    broadcaster: 'pusher',
    key: 'my_key',
    encrypted: true
});
Echo.channel('orders')
    .listen('TestEvent', (e) => {
        console.log('pippo');
    });
Run Code Online (Sandbox Code Playgroud)

我已经运行了gulp,现在当我访问该页面时,我收到此错误:

bootstrap.js?5e63:50 Uncaught TypeError: __WEBPACK_IMPORTED_MODULE_0_laravel_echo___default.a.channel is not a function
Run Code Online (Sandbox Code Playgroud)

laravel laravel-5.3 laravel-echo

18
推荐指数
1
解决办法
6250
查看次数

如何在angular 4中使用socket.io-client

服务器端是php laravel echo websocket,我正在尝试通过Angular 4连接.我尝试使用ng2-socket-io - npm和laravel-echo - npm,但没有一个成功.如果有人知道我可以使用它的任何文档或教程,请帮助

javascript socket.io typescript laravel-echo angular

13
推荐指数
3
解决办法
2万
查看次数

http:// localhost:8000/broadcasting/auth 404(未找到)

我想让我的应用程序应用程序连接到私人频道上的推送器.

但是我收到以下错误:

pusher.js?b3eb:593 POST http:// localhost:8000/broadcasting/auth 404(Not Found)

可能是错误的原因以及如何解决它.

laravel pusher laravel-5.3 vuejs2 laravel-echo

12
推荐指数
4
解决办法
1万
查看次数

Laravel Echo从未接受过活动

无论出于何种原因,我无法从laravel echo接收客户端的任何数据.我正在使用laravel-echo-server(socket.io),redis广播公司和redis队列.据我所知,它们都是功能性的.我会带你了解我如何进行测试.首先,我创建了一个UserCreated事件:

class UserCreated implements ShouldBroadcast
{
    use Dispatchable, InteractsWithSockets, SerializesModels;

    public $user;

    public function __construct($user)
    {
        $this->user = $user;
    }

    public function broadcastOn()
    {
        return new Channel('user-created');
    }

    public function broadcastAs()
    {
        return 'user.created';
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,为了测试此事件,我创建了一个CreateUser命令:

class CreateUser extends Command
{
    protected $signature = 'create:user {username}';

    protected $description = 'Create a new user!';

    public function __construct()
    {
        parent::__construct();
    }

    public function handle()
    {
        $user = \Chatter\User::create([
            'name' => $this->argument('username'),
            'email' => uniqid() . '@gmail.com',
            'password' => bcrypt('secret')
        ]); …
Run Code Online (Sandbox Code Playgroud)

php redis laravel laravel-echo laravel-5.4

12
推荐指数
1
解决办法
1612
查看次数

使用观察者广播有说服力的事件

目前我在创建和更新模型后使用观察者来处理一些东西.

我想通过使用实时更新我的​​应用程序,但我无法找到关于与观察者(而不是事件)结合使用的文档.

您可以将事件及其广播功能与其各自的侦听器结合使用以获得此功能,但我更喜欢更清晰的观察员代码(更少"魔术").

看一下laravel框架的代码,我可以看到observable仍然使用雄辩的事件,所以我怀疑有一种方法来广播这些.

所以我的问题是:有没有办法使用广播有说服力的事件而不创建单独的事件或在每个事件上手动添加广播语句?

observers laravel laravel-echo

10
推荐指数
1
解决办法
909
查看次数

Laravel echo服务器无法在生产服务器中运行

我有socket.io作为一个广播员与laravel回声的问题.

我试过了什么:

php artisan cache:clear
php artisan config:clear
Run Code Online (Sandbox Code Playgroud)

我可以看到用户在日志中连接:

0|Socket-Connection  | [11:17:00 AM] - ********** joined channel: test-channel
0|Socket-Connection  | [11:17:01 AM] - ********** authenticated for: private-user.1
0|Socket-Connection  | [11:17:01 AM] - ********** joined channel: private-user.1
Run Code Online (Sandbox Code Playgroud)

我的队列正在运行,正在正确记录所有事件.

我可以在redis控制台中完美地看到redis我的事件和数据库通知.

但是没有广播事件,我没有在laravel-echo-server控制台中看到它们.一切都在我的本地主机上工作,但不是在制作中我失去了理智.

这是我的laravel echo JS:

if (typeof io !== 'undefined') {
    console.log(window.location.origin);
    window.Echo = new Echo({
        broadcaster: 'socket.io',
        host: window.location.origin + ':6001',
        auth: {
            headers: {
                Authorization: 'Bearer ' + bearerToken,
            },
        }
    });
    window.Echo.private('user.' + user_id).notification((notification) => {
        console.log(notification);
    });
}
Run Code Online (Sandbox Code Playgroud)

在我的用户模型上,我定义了这个: …

php redis socket.io laravel laravel-echo

10
推荐指数
1
解决办法
1980
查看次数

Laravel/broadcast/auth总是因403错误而失败

我最近钻研了Laravel 5.3的Laravel-Echo和Pusher组合.我已经成功建立了公共频道,然后转向私人频道.我在Laravel从/ broadcast/auth路由返回403时遇到了麻烦,无论我做什么尝试授权操作(包括使用简单的返回true语句).谁能告诉我我做错了什么?

应用/供应商/ BroadcastServiceProvider.php:

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Broadcast;

class BroadcastServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Broadcast::routes();

        /*
         * Authenticate the user's personal channel...
         */
        Broadcast::channel('App.User.*', function ($user, $userId) {
            return true;
        });
    }
}

resources/assets/js/booststrap.js:
 import Echo from "laravel-echo"

 window.Echo = new Echo({
     broadcaster: 'pusher',
     key: 'My-Key-Here'
 });

window.Echo.private('App.User.1')
    .notification((notification) => {
        console.log(notification.type);
    });
Run Code Online (Sandbox Code Playgroud)

我可以在我的Pusher调试控制台中看到事件和它的有效负载,一旦它到达auth路由就会失败.

php laravel pusher laravel-echo

9
推荐指数
4
解决办法
8173
查看次数

Laravel Echo - 允许访客连接到状态通道

我正在使用 laravel-echo-server 运行 Laravel Echo 来广播事件。

我有一个用户计数器频道,显示应用程序上的所有用户。为此,我使用了在线状态频道。这适用于登录用户,但客人永远无法连接。

我在 BroadcastServiceProvider 中设置了以下内容:

Broadcast::channel('global', function () { return ['name' => 'guest']; });

据我所知,应该允许每个人作为“客人”进入。我猜在此之前正在检查一些中间件或身份验证,我需要为此通道禁用。

非常感谢让所有客户加入此在线渠道的任何帮助!

php socket.io laravel laravel-echo

9
推荐指数
2
解决办法
6179
查看次数

Laravel Echo'客户端无法通过身份验证,获得HTTP状态405'

我可以使用HTTPS设置在我的本地环境中运行laravel-echo-server.但是,似乎我的生产服务器(基于Forge)存在问题:

Client cannot be authenticated, got HTTP status 405
Run Code Online (Sandbox Code Playgroud)

我能够通过HTTPS在本地测试私有通道,它工作正常,所以看起来它不是一个配置问题.

我应该提一下,我正在使用Laravel Passport,并且导致此错误的请求被抛出在常规auth中间件之外的页面上.

只是为了确保它不是我的身份验证方法,我在通道配置中返回'true':

Broadcast::channel('App.User.{id}', function ($user, $id) {
    return (int) $user->id === (int) $id;
});

Broadcast::channel('channelReceiveLiveData.{id}', function ($user, $id) {
    return true;
});

Broadcast::channel('channelReceiveTestState.{id}', function ($id) {
    return true;
});
Run Code Online (Sandbox Code Playgroud)

以下是侦听私有通道的echo侦听器的版本:

Echo.private('channelReceiveLiveData.' + this.$route.params.testID)
.listen('liveDataTrigger', (e) => {
    if (!that.state.hasPulledInitialData) {
        console.log('Receiving data before initial pull done');
    }
Run Code Online (Sandbox Code Playgroud)

我的laravel-echo-server.json文件:

 "authHost": "https://app.test.com",
 "authEndpoint": "/broadcasting/auth",
 "clients": [
            {
                    "appId": "....",
                    "key": "...."
            }
    ],
    "database": "redis",
    "databaseConfig": {
            "redis": {},
            "sqlite": { …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-5 laravel-echo

9
推荐指数
1
解决办法
750
查看次数