首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏开源技术小栈

    实时通信 | Pusher入门教程实战

    简介 Pusher是什么? Pusher 是一种实时通信平台,提供了在Web应用程序中实现实时功能的技术。它可以帮助开发者轻松地添加实时数据到应用程序中,实现实时通信、通知、活动更新等功能。 Pusher能做什么? 1. 实时消息更新 使用Pusher,可以实时推送消息到所有连接的客户端,这些消息可以用于实时更新数据、显示聊天消息、活动更新等。 2. Pusher 和 Websocket 区别 Pusher和WebSocket是两种不同的实时通信技术,它们都可以实现实时数据传输,但存在一些不同之处。 Pusher: 是一个实时通信平台,它提供了一种简单的方式来添加实时功能到Web应用程序中。Pusher通过建立一个持久连接,允许服务器向客户端推送数据。 DOCTYPE html> <head> <title>Pusher Test</title> <script src="https://js.<em>pusher</em>.com/8.2.0/<em>pusher</em>.min.js

    1.6K10编辑于 2024-01-10
  • 来自专栏开源技术小栈

    实时通信 | pusher 入门教程(一)

    Part2Pusher是什么? Pusher是客户端和服务器之间的实时中间层,通过WebSocket或HTTP来和客户端实现持久链接,这样服务端可以实时向客户端发送数据。 Pusher 作为服务器和客户端之间的实时层。 具体可看Pusher Use Cases Part4Pusher使用 这部分内容主要包括注册Pusher账号,在PHP程序中注册Pusher的ID和密钥,把Pusher的PHP包和JavaScript包集成进 Laravel,以及如何调试Pusher程序。 1注册Pusher账号 注册Pusher账号:可以在这里注册:pusher 注册,注册账号主要是为了获得appid,secret和key这三个认证密钥,同时注册后进入个人页面后,可以使用PusherPusher

    2.5K20编辑于 2023-03-08
  • 来自专栏IT码农

    基于 Pusher 驱动的 Laravel 事件广播(下)

    如在上一篇中 Laravel Pusher Bridge 触发了事件后,传入了三个参数: $pusher->trigger('test-channel', 'test-event instance from service container $pusher = App::make('pusher'); // TODO: The notification = new Pusher("{{env("PUSHER_KEY")}}"); var channel = pusher.subscribe('notifications'); channel.bind = new Pusher('{{env("PUSHER_KEY")}}'); // TODO: Subscribe to the channel var channel = pusher.subscribe = new Pusher('{{env("PUSHER_KEY")}}'); var channel = pusher.subscribe('{{$chatChannel}}');//$chatChannel

    3.6K31编辑于 2022-01-10
  • 来自专栏编程录

    Laravel结合Pusher实现数据实时推送

    一、注册pusher账户并创建一个应用 打开网址: https://pusher.com注册获取应用秘钥 二、安装配置Pusher 1.安装 composer require pusher/pusher-php-server [ 'pusher' => [ 'driver' => 'pusher', 'key' => env('PUSHER_APP_KEY'), 'secret' => env('PUSHER_APP_SECRET '), 'app_id' => env('PUSHER_APP_ID'), 'options' => [ 'cluster' => env('PUSHER_APP_CLUSTER PUSHER_APP_ID=xxxxxxx PUSHER_APP_KEY=xxxxxxx PUSHER_APP_SECRET=xxxxxxx PUSHER_APP_CLUSTER=xxxxxxx 三、 事件 1.创建Pusher php artisan make:event PusherEvent <?

    58520发布于 2021-11-15
  • 来自专栏编程录

    Laravel结合Pusher实现数据实时推送

    一、注册pusher账户并创建一个应用 打开网址: https://pusher.com注册获取应用秘钥 二、安装配置Pusher 1.安装 composer require pusher/pusher-php-server [ 'pusher' => [ 'driver' => 'pusher', 'key' => env('PUSHER_APP_KEY'), 'secret' => env('PUSHER_APP_SECRET '), 'app_id' => env('PUSHER_APP_ID'), 'options' => [ 'cluster' => env('PUSHER_APP_CLUSTER PUSHER_APP_ID=xxxxxxx PUSHER_APP_KEY=xxxxxxx PUSHER_APP_SECRET=xxxxxxx PUSHER_APP_CLUSTER=xxxxxxx 三、 事件 1.创建Pusher php artisan make:event PusherEvent <?

    63230发布于 2021-11-12
  • 来自专栏开源技术小栈

    Pusher 如何利用私有频道实现安全实时消息通信

    安全通信架构图 授权步骤:为了使用Pusher的私有频道进行安全消息通信,需要进行以下步骤: 实例化pusher:需要在客户端创建pusher实例。 这需要提供Pusher的key以及其他相关配置参数。 连接WebSocket:通过pusher的连接方法,建立与服务器之间的WebSocket连接。 唯一客户端:pusher:connection_established(socket_id)每个socket_id是唯一的 订阅私有频道:在建立连接后,需要使用pusher的subscribe方法订阅私有频道 身份授权授权接口签名:JSON:{"auth":"key:signatrue"} 触发客户端pusher频道回调:在订阅频道后,可以触发pusher的频道回调,以处理接收到的消息。 身份验证 1. 安装依赖包 composer require pusher/pusher-php-server 2.

    75810编辑于 2024-01-10
  • 来自专栏软件事业部专栏

    微信小程序官方组件展示之媒体组件live-pusher源码

    以下将展示微信小程序之媒体组件live-pusher源码官方组件能力,组件样式仅供参考,开发者可根据自身需求定义组件样式,具体属性参数详见小程序开发文档。 2.tip:live-pusher 默认宽度为100%、无默认高度,请通过 wxss 设置宽高。3.tip:waiting-image 属性在 2.3.0 起完整支持网络路径、临时文件和包内路径。 5.tip: 相关介绍和原理可参考此文章错误码(errCode)图片状态码图片网络状态数据(info)图片示例代码 <live-pusher url="https://domain/push_stream bindstatechange="statechange" style="width: 300px; height: 225px;" />Page({ statechange(e) { console.log('live-pusher

    62420编辑于 2022-10-17
  • 来自专栏学习之路

    TRTC小程序本地关闭音视频,为什么远端收到了退房通知

    class="pusher" url="{{pusher.url}}" mode="{{pusher.mode}}" autopush="{{pusher.autopush}}" pusher.muted}}" // 这里要分别进行控制 enable-agc="{{pusher.enableAgc}}" enable-ans="{{pusher.enableAns}}" {{pusher.enableZoom}}" min-bitrate="{{pusher.minBitrate}}" max-bitrate="{{pusher.maxBitrate}}" video-width="{{pusher.videoWidth}}" video-height="{{pusher.videoHeight}}" beauty="{{pusher.beautyLevel waiting-image="{{pusher.waitingImage}}" beauty-style="{{pusher.beautyStyle}}" filter="{{pusher.filter

    81830发布于 2021-07-13
  • 来自专栏崔哥的专栏

    Laravel 广播

    {order_id}频道 后端 配置 安装Pusher SDK composer require pusher/pusher-php-server 配置文件 config/broadcasting.php ,一般是在.env文件中修改 BROADCAST_DRIVER=pusher PUSHER_APP_ID=12345 PUSHER_APP_KEY=ABCDEFG PUSHER_APP_SECRET= HIJKLMNOP PUSHER_HOST=docker-php-fpm PUSHER_PORT=6001 PUSHER_SCHEME=http PUSHER_APP_CLUSTER=mt1 VITE_PUSHER_APP_KEY ="${PUSHER_APP_KEY}" VITE_PUSHER_HOST="${PUSHER_HOST}" VITE_PUSHER_PORT="${PUSHER_PORT}" VITE_PUSHER_SCHEME '; window.Pusher = Pusher; window.Echo = new Echo({ broadcaster: 'pusher', key: import.meta.env.VITE_PUSHER_APP_KEY

    3.5K20编辑于 2023-03-24
  • 来自专栏TRTC Web SDK

    微信小程序TRTC使用custom自定义面板(实现篇)

    class="pusher" url="{{pusher.url}}" mode="{{pusher.mode}}" autopush="{{pusher.autopush}}" enable-camera ="{{pusher.enableEarMonitor}}" auto-focus="{{pusher.enableAutoFocus}}" zoom="{{pusher.enableZoom }}" min-bitrate="{{pusher.minBitrate}}" max-bitrate="{{pusher.maxBitrate}}" video-width="{{pusher.videoWidth }}" video-height="{{pusher.videoHeight}}" beauty="{{pusher.beautyLevel}}" whiteness="{{pusher.whitenessLevel {{pusher.frontCamera}}" remote-mirror="{{pusher.enableRemoteMirror}}" local-mirror="{{pusher.localMirror

    1.6K10发布于 2021-03-16
  • 来自专栏PhpZendo

    Laravel 广播系统工作原理

    现在进入 Laravel 项目的根目录,执行下面这条命令进行安装: composer require pusher/pusher-php-server "~3.0" 安装完成后修改广播配置文件,启用 Pusher Pusher SDK。 将 use Pusher; 替换为 use Pusher\Pusher;。 本文使用的是 Pusher 服务,所以 Laravel 将事件推送到 Pusher 服务器。 通过 Pusher 组件的 Pusher.logToConsole 我们可以开启 Pusher 的调试功能。

    10.3K20发布于 2018-09-17
  • 来自专栏RTSP/RTMP直播相关

    Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务

    _ = NT_PB_U3D_Open(audio_opt, video_opt, video_width_, video_height_); if (pusher_handle_ ! (pusher_handle_, 0x200); // Level 3.1 // NT_PB_U3D_SetAVCHWEncoderLevel(pusher_handle _, 0x400); // Level 3.2 // NT_PB_U3D_SetAVCHWEncoderLevel(pusher_handle_, 0x800); // (pusher_handle_, fps); NT_PB_U3D_SetGopInterval(pusher_handle_, gop); if (audio_push_type is_rtsp_publisher_running_) { NT_PB_U3D_Close(pusher_handle_); pusher_handle

    1.2K10编辑于 2024-01-18
  • 来自专栏TRTC Web SDK

    微信小程序TRTC使用custom自定义面板(理解篇)

    参数说明 首先观察组件文件中的trtc-room.wxml文件,可以看到传入 1v1 和 grid 面板的参数都有pusher、streamList、debug、enableIM,顾名思义可以想到pusher image.png pusher 由于 <trtc-room> 是基于 <live-pusher> 和 <live-player> 实现的,所以 pusher 中的属性不仅包含了 <live-pusher > 的属性,在 /trtc-room/common/constants.js 文件中也有说明(‘DEFAULT_PUSHER_CONFIG’),还包含了在调用 <trtc-room> 传入的配置属性;pusher 中的方法是通过 getPusherContext() 返回一个 LivePusherContext 对象 (<live-pusher>上下文对象),通过该对象操作<live-pusher>。 的属性,可以设置 pusher 一些有固定值的属性,只能在两个值之间切换,比如 boolean 类型的属性有 enableAns(是否开启ANS)、enableAgc(是否开启AGC),number类型的属性有

    1.9K30发布于 2021-03-15
  • 来自专栏RTSP/RTMP直播相关

    如何在Unity下采集音视频实现轻量级RTSP服务(类似于IPC)

    is_pushing_rtmp_) { InitAndSetConfig(); } if (pusher_handle_ == 0) { Debug.LogError("Start rtsp publisher, pusher handle is null.."); return false ; } String rtsp_stream_name = "stream1"; NT_PB_U3D_SetRtspStreamName(pusher_handle (pusher_handle_, rtsp_handle_, 0); int is_suc = NT_PB_U3D_StartRtspStream(pusher_handle_, 0); is_pushing_rtmp_) { NT_PB_U3D_Close(pusher_handle_); pusher_handle_ = 0;

    81820编辑于 2022-09-20
  • 来自专栏程序技术知识

    go : gin http2 push资源

    r *http.Request) { if pusher, ok := w. if err := pusher.Push("/app.js", nil); err ! /assets") r.SetHTMLTemplate(html) r.GET("/", func(c *gin.Context) { if pusher := c.Writer.Pusher (); pusher ! = nil { // use pusher.Push() to do server push if err := pusher.Push("/assets

    74010编辑于 2022-07-23
  • 来自专栏RTSP/RTMP直播相关

    Unity3D下如何采集camera场景数据并推送RTMP服务?

    _ = NT_PB_U3D_Open(audio_opt, video_opt, video_width_, video_height_); if (pusher_handle_ ! (pusher_handle_, 0x200); // Level 3.1 // NT_PB_U3D_SetAVCHWEncoderLevel(pusher_handle_ (pusher_handle_, fps); NT_PB_U3D_SetGopInterval(pusher_handle_, gop); if (audio_push_type is_pushing_rtmp_) return; NT_PB_U3D_StopPublisher(pusher_handle_); if(! is_rtsp_publisher_running_) { NT_PB_U3D_Close(pusher_handle_); pusher_handle

    88140编辑于 2023-09-01
  • 来自专栏RTSP/RTMP直播相关

    Android平台如何实现Unity3D下RTMP推送

    _ == 0) return; NT_PB_U3D_Set_Game_Object(pusher_handle_, game_object_); /* ++ 推送前参数配置可加在此处 ++ */ InitAndSetConfig(); NT_PB_U3D_SetPushUrl(pusher_handle_, push_url _ = NT_PB_U3D_Open(audio_opt, video_opt, video_width_, video_height_); if (pusher_handle_ ! (pusher_handle_, 25); NT_PB_U3D_SetGopInterval(pusher_handle_, 25*2); //NT_PB_U3D_SetSWVideoBitRate (pusher_handle_, 600, 1200); } ClosePusher() private void ClosePusher() { if (texture

    1.5K20发布于 2021-06-08
  • 来自专栏小程序TRTC

    【实时音视频】live-pusher/live-player与trtc-wx入门介绍

    一、小程序推拉流实现逻辑(live-pusher、live-player与底层之间的关系) 要说trtc-wx那么小程序这两个原生标签就是不能绕开的东西,小程序通过live-pusher/live-player 为一个对象,对象包含live-pusher组件所需要的属性信息。 ,live-pusher监听到属性的change做一些业务处理后传递给底层sdk。 标签绑定trtc的相关方法,这样在底层将一些回调抛给live-pusher,live- pusher触发这些方法,在通过trtc-wx进行处理抛出给用户,用户只需监听通过trtc-wx翻译过后的事件即可 三、trtc-wx接入流程 结合上面所说,trtc-wx的接入流程非常简单: 生成pusherUrl:调用enterRoom获取返回值后赋值给live-pusher; 绑定回调:在live-pusher

    3K60编辑于 2022-05-24
  • 来自专栏即时通信与音视频

    小程序<live-pusher>与<live-player>的常见问题

    1、<live-pusher> 标签动态修改 enable-camera属性不生效如何解决? 3、小程序推流<live-pusher>标签设置aspect属性没有效果? <live-pusher>标签aspect属性默认9:16的比例,3:4的比例只有在多人连麦场景下设置才有效果。 onReady 表示页面已经加载,完成初次渲染,跟 <live-pusher>、<live-player> 标签相关的操作都需要放在 onReady 里面实现。 > 或 <live-player> 标签上面叠加 cover-view 时不推荐修改标签的大小 当前 <live-pusher> 或 <live-player> 大小变化时,iOS版本小程序对叠加在上面的 cover-view不能追随变化,界面显示不可预期, 因此当在 <live-pusher> 或 <live-player> 标签上面叠加cover-view时,不要动态修改 <live-pusher>

    11.5K3932发布于 2019-09-05
  • 来自专栏技术派

    Laravel学习教程之广播模块详解

    驱动 Pusher是一个第三方服务,服务器发送广播时,会向Pusher发送请求,再通过Pusher与浏览器或移动端保持的长连接进行数据交互; 配置 通过Pusher官网注册用户信息,获取属于自已的一套密钥信息 ,修改.env的配置文件; BROADCAST_DRIVER=pusher PUSHER_APP_ID/【本文中一些MYSQL版本可能是以前的,MYSQL建议使用5.7以上的版本】/=xxxxxxxxxxxxxxxxxxxxxx PUSHER_APP_KEY=xxxxxxxxxxxxxxxxxxxxxx PUSHER_APP_SECRET=xxxxxxxxxxxxxxxxxxxxxx 准备工作 事件监听 后台的事件监听还是采用 "日志驱动"部分的登录例子; 前端 前端页面引入以下代码: <script src="https://js.<em>pusher</em>.com/4.1/<em>pusher</em>.min.js"></script> <script > // 打开 Pusher 的调试日志 Pusher.logToConsole = true; // 定义 Pusher 变量 var pusher = new Pusher('PUSHER_APP_KEY

    2K50发布于 2021-07-01
领券