4

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

 2 years ago
source link: https://www.cnblogs.com/tinywan/p/15854181.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

什么是频道?

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

您真正需要的是类似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')
);

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK