• 实时通信 | pusher 频道介绍(二)


    什么是频道?

    在编写实时应用程序时,您需要的是可在所有支持的平台上的所有应用程序中使用(和重用)的基础结构。 编写该基础结构会很有趣,但是如果您像我一样,您的工作就是构建和生产应用程序-您没有时间推出自己的实时解决方案。

    您真正需要的是类似Pusher的名为“ Channels”的产品。 Channels是一个平台,它具有将实时通信纳入所有Web,移动和桌面应用程序所需的一切。

    通道使用其简单的基于事件的API提供灵活的发布和订阅消息传递。

    通过使用它们广泛的服务器库,您可以从服务器应用程序触发事件,并在客户端上监听这些事件。

    特征

    频道不仅仅是发布和订阅消息。

    您可以创建和使用私人频道,以便只有授权用户才能订阅它们。 这意味着您需要对用户进行身份验证,并且可以将Channels身份验证与自己的身份验证方案无缝集成。

    您还可以创建专用的专用渠道,称为在线渠道,让您看到订阅了特定渠道的用户,这使得构建协作应用程序,游戏以及您需要知道谁的任何其他类型的应用程序变得异常容易。在线。

     

    作为平台,渠道可为您提供监视指标和警报所需的一切。 您可以查看有关通过通道发送的消息的各种度量标准,例如消息数,消息类型和大小。 您还将获得有关连接以及客户端如何连接到您的应用程序和Channels平台的信息。 您还可以将所有这些数据与其他第三方工具(如Datadog和Slack)集成。

    当您遇到问题时,有可用的调试工具,并且支持Web挂钩,以便可以在Channel中发生事件时更新和通知服务器。 您也可以使用简单的查询API查询已连接用户的状态。

     

    在单个频道上发布事件

    在下面的示例中,在名为 my-channel 的通道上触发了一个名为 my-event 的事件。消息负载最终以简单的 JSON 消息 ${'{"message":"hello world"}'} 结束。

    require __DIR__ . '/vendor/autoload.php';
    $pusher = new Pusher\\Pusher('APP_KEY', 'APP_SECRET', 'APP_ID', array('cluster' => 'APP_CLUSTER'));
    $response = $pusher->trigger('my-channel', 'my-event', array( 'message' => 'hello world'));

    在多个频道上发布事件

    在下面的示例中,一个名为 my-event 的事件被多个通道触发; my-channel-1、my-channel-2 和my-channel-3。 消息负载被转换为简单的 JSON 消息 ${'{"message":"hello world"}'}。

    require __DIR__ . '/vendor/autoload.php';
    $pusher = new Pusher\\Pusher('APP_KEY', 'APP_SECRET', 'APP_ID', array('cluster' => 'APP_CLUSTER'));
    $pusher->trigger(
      ['my-channel-1', 'my-channel-2', 'my-channel-3'],
      'my-event',
      array( 'message' => 'hello world')
    );

     

  • 相关阅读:
    在Windows 10 环境下安装 Hadoop3.1.2
    jQuery选择器分类
    Hibernate 注解的用法以及说明
    EF中Repository模式应用场景
    C# Lambda表达式
    arpd编译错误
    【转】matplotlib画图时的中文设置
    Xt800、DEFY自带号码归属地更新包,更新至2013.4【数据总数278360条】
    80个Python经典资料(教程+源码+工具)汇总
    POJ 1026:Cipher
  • 原文地址:https://www.cnblogs.com/tinywan/p/15854181.html
Copyright © 2020-2023  润新知