自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(215)
  • 收藏
  • 关注

原创 Ubuntu记录用户IP访问操作信息工具

1. 用脚本时刻记录用户IP访问操作信息工具,用shell脚本去记录2. 每隔一天存放用户信息,记录操作时间,固定地方存放脚本如下:在服务器环境变量中加入如下代码:vi /etc/profile#!/bin/bashbasedir="/data/log/history/";if [ ! -d /data/log/history ]thenmkdir /data/log/historyfidatedir=$(date +%Y年%m月%d日);if [ -d “basedirbasedi

2021-07-09 14:08:47 840

原创 webrtc系列之-像老鼠一样打洞

众所周知,本光头刚涉猎音视频不久,所以很多东西都是边学边做的,有说得不对的地方,请各位多包涵。说穿透之前,我们首先需要明白关于WEBRTC的一些概念,WEBRTC它是一个支持在browser实现实时音视频通信的一组技术框架,它是一组标准协议,它为开发者,用户提供了视频通信的核心技术,包括采集,编解码,网络传输,渲染等功能,并且是跨平台的。webrtc是基于P2P的,即点对点通信,与传统的方式有什么不同呢?(1) 传统的方式以服务器为中介(2) P2P的连接在数据通道形成的时候,中间是不经过服务器端的

2021-07-09 14:08:16 434

原创 OPENVIDU实现同一用户同时发布多个流媒体

1.前言OPENVIDU这个库暂时是不支持在同一个会议室里面,同一个用户同时发布多个媒体流的。但在实际工作中有这种需要,比如用户A既要发布摄像机媒体流,同时也要发布屏幕共享媒体流。下面介绍一种简单的方法去处理。2. 思路分析同时发布多个媒体流时,产生的报错信息如下:根据分析可知Endpoint already negotiated,当第一次发布媒体流时,媒体通道的端点已经使用中了,所以第二次发布媒体流时,无法使用该端点。既然这样,解决方案就是发布2个媒体流时就模拟2个用户,分别使用不同的端点去建立

2021-07-09 14:07:36 487

原创 如何使用Nginx-rtmp搭建简易的HLS直播系统

在网上也有一些关于使用Nginx-rtmp来搭建直播系统的教程,可是都是使用rtmp协议,然而rtmp在网页端只能通过Flash player插件进行播放,因为现在的浏览器已经陆陆续续不支持Flash player插件,所以使用rtmp协议做直播是不支持网页端播放。然而Nginx-rtmp不止支持rtmp协议,而且还支持hls协议,hls协议对网页播放非常友好,今天我就带大家学习一下使用Nginx-rtmp搭建简易的hls直播系统。专业术语rtmp协议:RTMP是Real Time Messaging

2021-07-09 14:07:04 918 3

原创 python实现数据库主从状态监控

背景想要监控两台主机的主从状态,并且不属于商业业务,不需要上监控系统,那就只需要用个小小脚本监控就好啦。一、思路1.登陆数据库2.获取主从状态3.判断此时状态是否健康4.若健康则退出程序,若不健康则发出报警二、实现mon_MasterSlave_status.py(主监控脚本)'''1.使用前请修改email_dididi配置2.使用前请修改wechat_dididi配置3.使用前请修改sqllist'''import datetimeimport pymysqlfrom

2021-07-08 16:29:48 275

原创 简单分析实现运维利器---批量操作bashshell

背景为了进一步完善自己写的小运维系统,今天就继续来补充一个批量操作bashshell,并记录操作用于审计!一、思路实现批量bashshell操作思路其实挺简单,同样是用到paramiko库,如果只写小脚本实现的可以参考我的另一篇文章Python搞定繁琐运维之批量执行Linux命令,如果运用在web应用上,则需要websocket的帮助。具体思路:.打开websocket通道2.打开ssh通道3.执行shell4.反馈执行结果.5.保存操作记录这个流程在Django运维系统基础功能之—web远程

2021-07-08 16:13:38 235

原创 《我与Windows Server 2008R2那点事儿》之域控账户故障事件

原文再续,书接上一回,上文我们已经介绍了Windows Server 2008R2域服务器上的文件管控报障方面的排查,下面讲解域控账号引起的报障背景计算机普通用户是本机建立的用户帐户,而域账户是域服务器上由管理员分配给你的帐户。(当你是域管理员时,可以自行设置。)计算机普通用户是本机登陆,不能访问域上的资源。域帐户受域的权限管理,可以访问域和本机上的资源;域帐户可以在域内任何一台电脑上登录,普通帐户就不行。用户报障事件-域控账户报错2021年1月x日,客户报障并给我发来了这张图,根据该图关键信

2021-07-08 15:47:15 304

原创 常用动态路由协议之IS-IS

根据上篇文章,我们认识了动态路由的其中一种RIP协议,这次我们来认识下动态路由协议的第二种IS-IS。IS-IS(中间系统到中间系统)IS-IS工作于2.5层(位于数据链路层与网络层之间),同时支持OSI CLNS网络和TCP/IP网络。IS-IS特点IS-IS支持网络层的CLNP网络、IP网络。工作在数据链路层。IS-IS的路由计算过程邻居关系建立主要是通过HELLO包交互并协商各种参数。一、IS-IS邻居关系建立的要素(1)同一层只要路由器或接口下的层次要匹配【只要层次不匹配上,无论

2021-07-08 15:43:19 692

原创 在云服务器上搭建Python开发环境

概述在实际的开发工作或上线环境中,由于Python的版本和包库版本比较多,项目的协同开发会比较杂乱,一般我们都会要求对服务器的Python环境进行隔离,本文将带大家搭建一个Python虚拟环境和基于网页的用于交互计算的应用程序Jupyter Notebook。一、创建普通用户# 创建一个jupyter用户adduser jupyter# 添加sudo权限echo 'jupyter ALL=(ALL) NOPASSWD: ALL' >>/etc/sudoers# 切换

2021-07-08 14:55:24 865

原创 基于Python3接口自动化测试开发相关常用方法

前言在基于Python而做的接口自动化测试及web平台开发相关工作,会出现不少重复使用到的功能,如:计费的小数点后两位(不进行四舍五入)、字典剔除、数组合并、字典转数组等,本文收集了一些常用方法。例子1. 判定重复元素使用 set() 函数来检查列表是不是存在重复元素,它会移除所有重复元素。def all_unique(lst): return len(lst) == len(set(lst))if __name__ == "__main__": x = [1, 1, 2, 1, 2

2021-07-08 14:49:46 223

原创 K8S结合Jenkins实现持续集成的动态配置详情分享

前言:Kubernetes,简称K8s,相信大家都不会陌生。这是一个开源的,用于管理云平台中多个主机上的容器化的应用。Jenkins,是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。在程序员日常的开发当中,使用着各种不同的编程语言,流程中少不了开发、测试、打包、发布等等的步骤,这其中的部分环节,是重复且必须的工作。所以慢慢地引入了持续集成的概念,从而减轻开发人员,运维人员的操作和时间成本,更好地服务好我们的程

2021-07-08 11:35:51 731

原创 uniapp聊天页nvue开发踩坑记录

由于前段时间开发出来的vue版本的聊天页,性能、用户体验等方面十分不尽人意,故开启了新的征途,nvue版本聊天页的开发。痛点一、进入页面保持在最底部这次重构nvue版本的聊天页,使用了标新立异的渲染方式。众所周知,前端渲染页面都是由上而下渲染的,那么如果需要进入页面的时候,便保持在页面的最底部,就需要等待页面渲染完毕后跳转至最底部。这样的渲染方式就会导致在进入页面时,用户能很明显的感受到页面抖动了一下(可能多次)。所以此次重构,博主选择将整个页面旋转180度,原本的最顶部,变成了页面的最底部,进入页面

2021-07-08 11:23:19 672 2

原创 如何使用 Linux Live CD从 Ext3文件系统恢复文件

前言对于 Linux 用户都会有不小心删除了磁盘上文件情况发生,如果不小心执行了rm -rf .立即删除当前目录中的所有文件和文件夹这样的命令还能再恢复吗?本文就教你使用 Ubuntu 系统从 EXT3分区恢复文件的步骤。准备发生删除了错误的文件后,首先要做的就是卸载文件系统,或者以只读方式挂载。如果文件在您的根分区上,您应该立即关闭您的系统,并启动一张 live cd。这对于防止其他进程覆盖您的文件非常重要。即使您没有明确覆盖文件,其他系统进程也可以写入文件系统并覆盖您的文件。本文将使用一个只有一

2021-07-08 11:09:04 179

原创 如何使用Vscode结合docker进行开发

前言使用 Docker 与 VS Code 可以优化整个本地开发环境,加速项目进度过程。在所有环境中使用相同的基础映像,为所有开发人员提供相同的编辑器工具,可以更容易实现标准。大型项目的团队首先必须确保安装依赖、内核版本这些开发环境是统一的。为了解决开发环境一致性的问题,常规传统的办法就是制定开发人员遵循制定指南,但是尽管如此实际开发过程还是会遇到各种障碍。设置环境的常规方法如下图所示:另一种解决方案是使用所有必需的库和依赖项预先配置的开发环境,开发人员可以在容器中分拆这些库和依赖项。然后,开发人

2021-07-08 10:56:47 2551

原创 使用JAVA调用KURENTO录制功能

1. 前言在KURNTO中,实现了音视频录制功能。下面我们来详细的了解一下JAVA如何调用录制功能的实现。2. 思路2.1 部署kurento媒体服务器。启动成功默认监听8888,交互方式为webSocket。2.2 创建一个由WebRtcEndpoint 和RecorderEndpoint组成的媒体管道。3. 备注3.1. kurento默认支持录制属性{WEBM, MKV, MP4, WEBM_VIDEO_ONLY, WEBM_AUDIO_ONLY, MKV_VIDEO_ONLY,

2021-06-04 11:56:01 413

原创 Electron安装/打包错误的问题总结

什么是Electron简单的说Electron就是一个能让你使用 JavaScript, HTML 和 CSS 来创建桌面应用程序的框架。 而这些应用程序可以打包后在 macOS、Windows 和 Linux 上直接运行使用。非常适合前端来做桌面应用开发。一、Electron安装电脑装上node.js之后安装electron进入到electron项目路径在终端输入以下命令:npm install --registry https://registry.npm.taobao.org

2021-06-04 11:50:08 1749 1

原创 Ionic使用常用插件时遇到的坑与解决方法

一、 什么是IonicIonic 是一个强大的 HTML5 应用程序开发框架(HTML5 Hybrid Mobile App Framework )。 可以帮助您使用 Web 技术,比如 HTML、CSS 和 Javascript 构建接近原生体验的移动应用程序。它是基于Cordova框架,利用Cordova实现应用的手机功能调用、调试与发布。简单的话就是可以使用一套代码,利用Ionic可以生成安卓、IOS和网页端应用。二、 使用插件时遇到的坑与解决方法在开发Ionic应用时,因为程序本身是不具备调

2021-06-04 11:11:57 388

原创 非真实网络的视频传输实战(一)

本光头在N久之前的一门教学中说到,WEBRTC的原理,不知道同学们有没有看过那一篇,如果没有的话那就先去看看那篇课程,或者大家可以搜索一下webrtc的相关通信原理再来看本篇文章。本篇会介绍端对端连接的基本流程,也就是peer 2 peer,这次为演示方便,就不准备使用真实的服务器进行介绍(毕竟服务器带宽也不便宜呀)。也就是说本篇不涉及到跨网络的应用,而是在同一个页面里面,在其中一个video标签里头展示我们采集到的音频,视频流,之后创建两个peerConnection,然后将这个媒体流数据加入到其中一个

2021-06-04 11:07:06 197

原创 如何在CentOS 7上基于Apache安装Cerb

一、软件介绍Cerb是一个用PHP编写使用MySQL或MariaDB作为数据库的工作流和电子邮件自动化系统,非常适合大型团队。他的主要特性包括:1.大容量邮件管理。2.共享邮箱。3.用于实时监控和目标跟踪的仪表板。4.实时通知。5.任务管理器。6.适配移动设备。7.基于REST的API。Cerb是在社区15年的反馈基础上发展起来的,尽管源代码可以在Github上获取,但该软件是在一个名为Devblocks Public license(DPL)的商业开源许可证下分发的,值得注意的是,许可

2021-06-04 10:58:46 137

原创 通往高级JAVA开发的必经之路—JVM(二)

前言:上一篇讲完了JVM的类加载机制,运行时数据区以及版本7与8之间的一些区别。这一篇主要讲讲JDK8的默认的垃圾回收机制(GC)。开始之前先复习一下JVM的运行时数据区:垃圾回收(GC)概述:在堆内存中存放着很多new出来的对象,这些对象有些可能非常重要,会一直存在直到系统停止,有些可能用完一次后就不会再用了,朝生夕灭。那么如何合理的分配内存,清理无用的对象。就是垃圾回收机制的作用了。判断是否无用对象:堆内存中存放着那么多的对象,JVM是如何识别对象是否有用的?这里就涉及到了JVM的垃圾判

2021-06-04 10:43:27 142 1

原创 关于electron的基本调试

介绍调试是开发中必不可少的一个过程,electron分为主进程和渲染进程,所以需要有分别调试这两个进程渲染进程调试electron渲染进程的调试跟web开发的调试过程差不多一样,因为这个进程相当于Chromium 的一个窗口,在开发环境中可以设置:win.webContents.openDevTools() 来打开devtools来调试代码。接下来就可以对渲染进程进行调试,vue-devtools通常我们是使用vue+electron的模式进行开发,而在平时vue开发中,我们通常使用vue-

2021-06-04 10:33:16 1761 1

原创 如何使用perf top 探究性能

Perf 内置于Linux 内核源码树中的性能剖析工具。它基于事件采样原理,以性能事件为基础,支持针对处理器相关性能指标与操作系统相关性能指标的性能剖析。可用于性能瓶颈的查找与热点代码的定位。linux2.6及后续版本都自带该工具,几乎能够处理所有与性能相关的事件。perf top 是比较常用于展示占用CPU始终最多的函数或者指令,一般以此来查找热点函数。实战root@xxxx:~# apt install linux-tools-commonroot@xxxx:~# perf topSample

2021-06-04 10:24:37 5024 1

原创 ansible进行ceph-rgw部署

用户管理用户创建执行下面的命令新建一个用户 (S3 接口):radosgw-admin user create —uid={username} —display-name=”{display-name}” [—email={email}]实例如下:radosgw-admin user create —uid=johndoe —display-name=”John Doe” —[email protected]获取用户信息要获取一个用户的信息,你必须使用 user info 子命令并且

2021-06-04 10:02:17 358

原创 几个思路教你制定性能测试方案

越来越多人注重软件质量,性能测试也进入很多人的眼前,性能测试的工具大家都知道,常见的JMeter、locust等,今天说一下性能测试方案。测试目的从目标出发,可以把性能测试分为几类:1.测试性能参数的情况,帮助设计人员作出决策。2.检测性能弱点,有针对性地增强硬件配置。3.进行测试,监控产品进程或方法函数等影响性能的情况,调优软件性能。4.进行高压测试,查看产品在高并发负载、单次大容量负载下是否有问题。5.制定好性能指标,持续运行一定时间,验证系统在预设生产场景时的稳定性和可靠性。6.确保产

2021-05-08 10:03:53 560

原创 主流Webrtc流媒体服务器之Kurento Media Server

一、 什么是Kurento Media ServerKurento Media Server(KMS)是一个多媒体服务器软件包,可用于为WebRTC平台开发高级视频应用程序。Kurento是一个底层平台,可创建WebRTC应用程序,而且负责管理STUN / TURN服务器,网络,可伸缩性等。1.1. Kurento Media Server的特点1.1.1. 模块化管道Kurento提供了WebRTC和RTP发送器和接收器、音视频混合器、媒体录制等构建模块。这些媒体元素是具有特定媒体功能的独立对象

2021-05-07 18:23:26 1022

原创 如何在CentOS 7 安装看板软件TaskBoard

一、软件介绍TaskBoard是一款免费且开源的软件,灵感来源于看板面板,用于持续跟踪需要完成的事情进展。看板事实上是一种工作流程和项目组织的可视化技术,尤其是对于软件开发行业,它提供了一项可视化进度管理系统来帮助如何构建产品。正如上图所示,这个软件可以很容易直观地跟踪项目的发展。本教程将为您说明如何在CentOS7上安装并且使用TaskBoard来进行项目跟踪。TaskBoard特性:免费、开源(MIT许可证)和自托管。易于安装、定制。不限制项目数量。自定义定制板内的列和按用户展开/折叠

2021-05-07 18:13:49 239

原创 简单介绍一下SDP规范

在现实世界中,我们知道寄快递,你首先知道对方和标识发送方的地址,姓名,联系方式等,这些快递才能寄出去,那么在webrtc的世界中,双方或者 多方通信是怎么联系的呢?就是通过SDP这样的一个东西,他里面包含着各种各样的丰富的信息。你要通信你首先得产生个SDP,就像你要泡妞,最好就是先知道人家女孩的微信一样。首先我们得知道SDP是个啥玩意?他的英文名称就叫做session description protocol,说点人话就是叫做会议描述格式,是用来描述流媒体初始化参数的格式,说白了也就是个信令,就好比你寄个

2021-05-07 18:03:12 459

原创 GStreamer中生成RTP/SRTP流

1.前言kurento中是使用GStreamer来控制流媒体的,在GStreamer多媒体库中,利用gst-launch工具生成RTP/SRTP流,可供RTP接收器使用。2. 步骤2.1. 安装软件包2.2. 启动调试日志2.3. RTP发送PEER_V :指代的是建立管道时使用到的端口PEER_IP :指代的时建立管道时使用到的IP地址SELF_PATH:测试视频地址2.4. RTP接收2.5. SRTP发送2.6 .SRTP接收3.结束语关于Gstream多媒体库生

2021-05-07 17:57:06 575 1

原创 常用动态路由协议之OSPF基础篇常用动态路由协议之OSPF基础篇

根据上篇文章,我们认识了动态路由的中RIP协议和IS-IS两种协议,这次我们来简单认识下动态路由协议的第三种OSPF。OSPF(开放式最短路径优先)在自治系统(AS)中,OSPF与RIP和IS-IS一样,都属于内部网关协议(IGP)中的其中一种。OSPF的工作过程建立邻居关系,通过学习链路状态信息形成链路状态数据库,根据Dijkstra算法算出最短路径树,最后形成路由表。OSPF区域定义OSPF在AS内可以划分多个区域,每个OSPF路由器只能维护所在区域的完整链路状态信息。区域也分为骨干区(

2021-05-07 17:50:56 271

原创 K3S集群外置RDS云数据库

最近有个项目使用了容器,但是由于机器配置的限制,以及项目比较小型(其实是因为穷)经过调研讨论我们选择使用K3S集群,但根据官方的文档一个高可用的K3S需要外置数据库,所以我们选择使用RDS云数据库。这里可能会有小伙伴问了,为什么不自己搭建一个数据库集群。答案当然是因为懒…认真脸.jpg主要还是RDS太好用了!!!!自动备份完善的数据自动备份机制,指定数据库,表备份。时间还可以自己选择。安全稳定专人专事,这么重要的外置数据库交给专业的DBA进行管理。专门的订制的架构,报障数据完整。还有随时可以

2021-05-07 17:44:06 152

原创 云盘上使用aws_s3_sdk for php

aws s3 全名是 Simple Storage Service,是对象存储服务(oss),对象存储服务作为网盘的优点这里就不细说了,其提供的统一接口sdk几乎涵盖了所有语言。除了通用性以外,其以上传下载为核心的接口几乎可以满足所有的业务需求。本人在几年的工作中对接过不同sdk的接口,可以说aws s3的接口,只有你想不到,没有他做不到,虽然前提是你能从他那天书一样的接口文档中找到你想要的内容。下文是记录下对接过程中s3几个比较重要的接口,对象存储是私有化部署,下文代码是以php为开发语言(哪个开发语言不

2021-05-07 17:36:30 347 1

原创 Nuxt服务端请求及获取Cookie

介绍nuxt.js是基于Vue的应用框架,它预设了利用 Vue.js 开发服务端渲染的应用所需要的各种配置。它提供了一个asyncData方法可用于在服务端里异步的获取数据,它可以在页面组件每次加载前被调用。使用这里使用的是typescript的方式,asyncData方法获取到数据后会填充到data中,且asyncData方法在vue组件实例化之前被调用,因此无法获取到实例this。方式一:使用axiosimport axios from 'axios'import { Component,

2021-05-07 17:25:50 1422 1

原创 简单介绍一下什么是iostat

前言:当Linux系统出现性能问题时,我们往往需要借助一些工具初步定位问题,所谓工欲善其事必先利其器,iostat就是这么一把利器。借助iostat,我们能快速定位性能问题出自于CPU还是块设备,从而进一步分析问题根源,接下来就是学习如何使用iostat。iostat介绍一款Linux下的io性能监控软件,用于统计CPU使用情况和块设备I/O情况,统计时间为上次执行到目前。默认的输出如下所示:默认输出有三大部分:1.系统信息:内核版本、当前日期、CPU架构、CPU核数目;2.CPU使用统计信息:

2021-05-07 17:16:24 211

原创 关于ssd存储原理的介绍

众所周知SSD的读写速度远比hdd磁盘要快,理解ssd的工作原理使我们开发处高效储存方案。linux 相关指令fstrim --fstab --verbose ## 回收(discard)文件系统上对应磁盘未使用的块blkdiscard /dev/nvme1n1 ## 回收并擦除(discard)整个SSD块设备wipefs -a /dev/nvme1n1 ## 擦除(erase)文件系统的签名fstrimfstrim命令实际可以视为手动对SSD磁盘下发TRIM指令。使用-v参数可以直接

2021-05-07 17:01:09 2081

原创 OPENVIDU实现网络质量检测统计

1.前言在WebRTC中,我们需要对当前的音视频情况进行监控,便于对音视频质量有一个了解,同时可以用来分析定位音视频卡顿模糊等问题。WebRTC提供了一个标准的解决方案:标准详情,基于此标准Kurento也提供了一套实现方案,接下来就来具体介绍一下。2. 序列图依照上述时序图openvidu这块步骤分为2步:第一步创建媒体通道时开启WEBRTC统计信息:pipeline.setLatencyStats(true);第二步端点调用getStats方法并处理返回Map类..

2021-04-06 09:14:38 350

原创 关于流媒体的简介及技术梳理

理解什么是流媒体一种具备边传边播特点的多媒体,核心为流式传输技术,也被称为新的媒体传送方式。不必等到把媒体全部下载完毕,只需要将视音频文件经过压缩处理, 放在媒体服务器上, 在网络中使用流式传输技术分段传送,大概几秒的延时就可以获取到媒体服务器推送的视频数据。流媒体的出现节省了下载时间和存储空间, 使延时大大减少,极大地方便了人们的工作和生活。示意图: 举个例子:视频直播的应用,某用户手机下载视频直播软件在推流端进行拍摄视频,利用推流协议然后在网上进行发布进入流媒体...

2021-04-06 09:14:15 497

原创 安全测试系列之弱网测试

APP弱网测试用户在使用APP的过程中,网络条件比较复杂,如WiFi,4G,3G,2G;并且,当前有三大运营商,所提供的网络制式不太相同。同时,用户使用的场景也各不相同,比如室内,户外,电梯或者停车场等。因为不做任何处理的话很可能会崩溃闪退,很影响用户的使用。所以对客户端要求就比较高了,需要做容错处理,比如异常提示,超时处理,重连机制,以及缓存机制。弱网测试作为健壮性测试的重要部分,对于移动端的测试来说必不可少。主要包含以下几个方面。弱网功能测试这一部分主要是在各种非wifi网络..

2021-04-06 09:13:36 399

原创 流媒体技术之ICE工作原理

一、 什么是ICEICE是Interactive Connectivity Establishment的缩写,是提供客户端之间的打洞能力的武器,通过ICE检测后,客户端之间可能存在多个通信链路,由ICE选择出最高效的链路。通俗点说,需要通信的两个客户端需要只少通过一次交互才能建立连接,它不像一般的客户端与服务端这间的通信,通过HTTP或SOCKET连接之后就可建立连接。二、 ICE关系图 三、 ICE candidate每个candidate其实就是一个地址候选者地...

2021-04-06 09:12:42 673

原创 webrtc:信令服务器的另一种实现方式-无需掌握全部的socket.io

我们知道,基于WEBRTC实现的多对多实时音视频互动通信就必须需要搭建信令服务器作为信令转发操作。那么我首先了解一下,什么是webrtc信令服务器?在webrtc的规范中,其实是没有将信令服务这一块纳入到整个规范当中的。更多的是规范客户端所有的过程。为什么没有纳入到规范中,这是因为各个公司的业务模型都是不一样的。很难将每个公司的信令都并成一套规范。所以这样,还不如让他们自己去定义。只要是我必须的信息能交换,其他的业务,你自己去定义,这样就比较灵活,各个公司就更容易去接受,这其实是对webrtc整个的推广

2021-04-02 14:40:17 480

原创 如何使用自定义镜像快速配置机器环境

之前公司的前端项目部署的那块工作大部分都是由我来负责的,由于最近多了一条产品线,需要新的机器去部署它的运行环境。因为涉及到打包之类的,需要安装部署很多内容,比较花费时间,正在我难为之时朋友提醒我云服务器的提供商有提供自定义镜像的话能轻松的给我解决这个问题。幸亏,我之前买的是睿江云的服务器,之前看过公众号文章介绍他们是有提供这个服务的。所以我便上官网上面查看了这个功能的介绍,确实能帮助我解决快速生成一样环境的机器。跟着官方的操作文档说明,很快就能创建一台一样的机器了。主要的步骤如下:...

2021-04-02 14:31:41 147

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除