自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

〓☆〓 清风徐来918 (QQ:89617663)

----- 以日以年 我行四方 -----

  • 博客(89)
  • 收藏
  • 关注

原创 【自研IM系统Talk00】 --- 架构介绍

即时通讯(Instant Messenger,简称IM)作为互联网重要平台。不仅成为人们的沟通工具,还成为了人们利用其进行电子商务、工作、学习等交流的平台。尤其目前火热的直播市场,IM再次起到重要的作用。IM 在互联网中虚拟的5钟沟通场景:(1)互为好友(双向) ------   通用交友模式。可以互相聊天和查看双方的动态。需要双方都同意才能成为好友关系。(2)群组(正式)(3

2016-11-23 17:25:55 552

原创 Websocket 总结

一、 概述HTML5中的WebSockethttp://www.websocket.org/http://tools.ietf.org/html/rfc6455WebSocket API 是 HTML5 标准的一部分 , 但这并不代表 WebSocket 一定要用在HTML中,或者只能在基于浏览器的应用程序中使用。WebSocket API最伟大之处在于服务器和客户端可

2016-11-23 10:18:23 3963

原创 【TCP 关键知识点】

(1) 设置socket为非阻塞端口int setNonBolck(int nfd){//set non-block socketint bFlags = fcntl(nfd, F_GETFL, 0);if(bFlags {std::coutreturn -1;}bFlags |= O_NONBLOCK ;if(fcntl(nfd, F_SETFL,

2016-11-22 14:55:35 556

原创 如何给 nginx rtmp 服务加入鉴权机制

目前直播平台非常的火爆。当前有不少的流媒体CDN,基于rtmp,http-flv和hls协议的。也可以自己搭建私有的流媒体服务器,目前比较常见的有:Live555,EasyDarwin,Red5,DSS,Wowza,nginx-rtmp这里重点讲解开源的nginx-rtmp服务器。但是流媒体服务器最大的一个问题就是防盗链和鉴权问题,如何防止流媒体服务器被第三方应用免费使用。所以需要给n

2016-12-09 17:03:03 15904 7

原创 1080p

1080p是一种视频显示格式,外语字母P意为 逐行 扫描( Progressive scanning)它是美国电影电视工程师协会(SMPTE)制定的最高等级高清数字电视的格式标准。数字高清信号数字电视扫描线的不同分为1080P、1080I、720P(i是interlace,隔行的意思,p是progressive,逐行的意思)。1080p是一种视频显示格式,数字1080则表示水平方向

2016-11-30 14:06:09 591

原创 屏幕尺寸,分辨率,DPI,DIP

1. 屏幕尺寸(screen size)就是我们平常讲的手机屏幕大小,是屏幕的对角线长度,一般讲的大小单位都是英寸。比如iPhone5S的屏幕尺寸是4英寸。Samsung Note3是5.7英寸。2.像素(pixel)想像把屏幕放大再放大,对!看到的那一个个小点或者小方块就是像素了。3.分辨率(Resolution)是指屏幕上垂直方向

2016-11-30 14:05:19 960

原创 标清,高清,超清

标清 (Standard Definition,SD):360P, 480P(640x480) --- 物理分辨率在720P以下的视频格式。高清 (High Definition,HD): 720P (1024x720p) --- 物理分辨率达到720P以上的视频格式。超清 (Full HD): 1080P (1920x1080p)超高清 (Ulter HD): 2160P 4K分辨率

2016-11-30 14:02:35 2514

原创 视频质量,分辨率,码率之间的关系

MOS取值范围为1-5,数值越高,代表视频主观质量较好。如果需要视频的MOS值为达到4(满分为5),那么1920x1080分辨率的序列需要约7000kbps的码率,640x480分辨率的序列需要约1900kbps的码率,352x288分辨率的序列需要约800kbps的码率。http://blog.csdn.net/leixiaohua1020/article/details/1

2016-11-30 13:59:32 12919

原创 流媒体CDN带宽费用计算

1、 月95峰值:每5分钟统计一个带宽峰值(单位Mbps),每日得到288个峰值,每月所有峰值点顺序排列, 去掉5%最高点,取剩余点的最高点作为计费带宽值 。2、 日95峰值取月均:每5分钟统计一个带宽峰值(单位Mbps),每日得到288个峰值,按高低顺序排列,去掉5%最高点,取剩余最高点为日带宽峰值,把当月每日带宽峰值的总和/当月CDN使用的有效天数,得到月日均带宽峰值作为结算标准。

2016-11-30 13:51:37 3586

原创 流媒体性能指标

流媒体性能指标整理如下:(1)同步延迟 (2)不允许花屏(3)不允许杂音(4)即开即看

2016-11-30 13:50:47 1130

原创 流媒体防盗链机制

一般互联网直播平台防盗链方案主要有以下几个:(1)回源鉴权机制  ----- 我们提供鉴权服务, 每次申请开发,流媒体服务器都会到我们提供的鉴权服务器上鉴权,成功后才允许直播推流。(2)基于user key和md5方案( 推荐 ) ----- 流媒体服务商为每个用户提供User Key和MD5算法,申请直播的时候会把检验信息带上发送给流媒体服务器鉴权,成后才允许直播推流。    最好还

2016-11-30 13:49:50 1404

原创 流媒体协议

概述当前互联网中的流媒体服务从传输方式上大体上可以分为两种方式: 顺序流式传输 和 实时流式传输 。顺序流式传输:采用普通的HTTP服务器作为存储多媒体文件的服务器。当客户端发起连接想要观看多媒体资源的时候,直接通过HTTP协议把文件下载到客户端本地系统的临时文件夹中,再使用播放器播放已经下载好的文件。它的与服务器交互的流程如图1所示。顺序流式传输的实质

2016-11-30 10:31:15 460

原创 多媒体编解码

概述视频:H264, MPEG-4, WebM/VP8, Theora等音频:Speex, AAC, Ogg/Vorbis等。比较成熟的: 视频(H264), 音频(AAC)开源的: 视频(WebM/VP8), 音频(Ogg/Vorbis)x264进行H264编码,libfaac进行aac编码。H.26X所谓视频编码方式就是指通过特定的压

2016-11-30 10:29:00 731

原创 流媒体前生今世

直播从古老的RTSP到RTMP,HTTP渐进式下载,到HTTP流,到HLS和HDS,到DASH,到私有的websocket。目前直播分发有几个特点:(1)偏好flv,少用tsflv标准11页,ts标准174页。标准文档十倍差异,代码实现起来十倍都不止。因此一般的公司都喜欢flv,pc时代都是flv的天下,什么flv流,flv切片;因为自己写代码支持ts比较麻烦,用ffmpeg的

2016-11-30 10:22:21 368

原创 流媒体概述

流媒体播放方式:单播:进行数据多个copy,以多个点对点的方式分别发送到需要它的那些用户上,这样会增加服务器的负担。广播:不进行数据多个copy,只将单独的一个拷贝数据发送到网络上所有的客户,不管它们需不需要,这样占带宽。组播:组播不会复制数据包的多个拷贝传输到网络上,也不会将数据包发送给不需要它的那些客户,这样既可减少对服务器的负担,也可减少网络带宽的占用。点播:客户端与服务器间

2016-11-30 10:20:09 272

原创 【自研IM系统Talk00】 --- 接口说明

Talk00接口文档一、目录 概述61.权限验证81.1登录接口81.2验证接口92.负载均衡102.1负载接口103.消息转发113.1发送消息接口113.2接收消息接口123.3客户端心跳接口134.配置服务134.1获取静态服务接口1

2016-11-24 14:15:59 806

原创 【自研IM系统Talk00】 --- 集成接入&demo展示

Talk00对接流程user id由第三方平台分配维护user token 通过talk00接口刷新获取测试Demo展现

2016-11-24 14:00:34 389

原创 【自研IM系统Talk00】 --- 压测情况

一、测试环境(1)测试服务器资源信息#uname -aLinux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux64位CentOS------------------------------------

2016-11-23 17:57:03 973

原创 IPC 消息队列 msg

消息队列相关的系统参数:(1)# ulimit -acore file size          (blocks, -c) 0data seg size           (kbytes, -d) unlimitedscheduling priority             (-e) 0file size               (blocks, -f) unl

2016-11-23 14:39:07 590

原创 IPC共享内存 shm

共享内存是最快的IPC检查共享内存:ipcs m | grep "name"删除共享内存:ipcrm m "共享内存ID号"==========================测试一:启动两个程序,创建打开同一块共享内存,查看一下共享内存情况如下:root@PLATDEV:~# ipcs -m------ Shared Memory Segm

2016-11-23 14:36:16 830

原创 无限制聊天室设计

一、按照不同聊天室规模部署GMessage Svr 服务(1)同一个聊天室消息合并发送减少轮询次数。(2)按照在线人数多少,群组id分配gmessage svr处理群发消息。其实也可以搞的简单一点:就是针对room id 进行路由,数据结构为: type_id [g1, g2, g3, ...]这样就可以配合自动部署和扩容系统做到智能扩容。

2016-11-23 10:20:57 748

原创 IM协议说明

在云信整个通信系统中有三种类型的连接:TCP,UDP,HTTP。3种类型的协议对应了不同的业务应用。TCP主要是用户长连接,也就是普通IM消息和信令的传输,UDP用于传输实时音视频数据流,而HTTP则主要用在音频,图片等文件的上传下载上。

2016-11-23 10:20:00 483

原创 XMLSocket

XMLSocket 协议是flash的长连接消息协议XMLSocket协议规则:每个 XML 消息都是一个完整的XML文档,一定要以 \0 结束。  ( html5-websocket是长连接传输的是精简的http报文 )XMLSocket.connect() 方法只能连接到端口号大于等于1024的TCP端口。XMLSocket 策略文件:http://www.ad

2016-11-23 10:14:28 750

原创 IM中的人际关系

IM 在互联网中虚拟人与人4钟关系:(1)互为好友(双向) --- 通用交友模式。可以互相聊天和查看双方的动态。需要双方都同意才能成为好友关系。(2)群组(正式)(3)讨论组(临时)(4)关注(单向) --- 快速交友模式。可以查看被关注人的动态 (关注他人就可以聊天, 但是只有关注别人才能看到对方的动态信息)(5)聊天室(任何人都可以进入房间聊天)

2016-11-22 17:26:00 442

原创 IP电话协议

2016-11-22 17:25:15 552

原创 WebRTC

http://www.webrtc.org/WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的技术,是谷歌2010年以6820万美元收购Global IP Solutions公司而获得的一项技术。WebRTC实现了基于网页的视频会议,标准是WHATWG 协议,目的是通过浏览器提供简单的

2016-11-22 17:24:35 386

原创 IM web客户端

开源的Web即时聊天应用:1.CryptocatCryptocat 是一个开源基于Web的即时消息聊天应用程序。与其它即时聊天工具不同之处在于,它主要关注确保通信是进行加密过和私人化的。Cryptocat 基于PHP开发,除了静态文件(CSS, JS和图片)外,只有单独的一个PHP文件。其界面简单,而且漂亮。消息使用crypto.js library进行AES-256加密。项目

2016-11-22 17:23:00 760

原创 SIP和XMMP区别

SIP (Session Initiation Protocol)XMPP (Extensible Messaging Presence Protocol)(1)SIP和XMPP都是应用层的协议,主要用来在互联网上发送语音和即时通信IM。RFC 3521定义了SIP,RFC3920定义了XMPP。XMPP来自即时通信系统,而SIP类似语音和视频通信。XMPP增加了Jingle扩展协议来

2016-11-22 17:22:25 586

原创 ejabberd

https://www.ejabberd.im/ejabberd是基于Jabber/XMPP协议的即时通讯服务器,由GPLv2授权(免费和开放源码),采用Erlang/OTP开发。它的特点是,跨平台,容错,集群和模块化。ejabberd目前是可扩展性最好的一种Jabber/XMPP服务器,支持分布多个服务器,并且具有容错处理,单台服务器失效不影响整个cluster运作。

2016-11-22 17:21:39 339

原创 Openfire/Spark/Smack

Openfire, Spark, Smack 是Java实现的基于XMPP协议的企业级IM解决方案。Openfire:实现XMPP协议的IM服务器。有自己的管理web。Openfire数据表描述: http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/database-guide.html#ofUse

2016-11-22 17:21:00 309

原创 XMPP协议

http://xmpp.org/XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性。XMPP(Extensible Messaging and Presence Protocol, 可扩展消息处理现场协议)是 基于可扩展标记语言(XML 

2016-11-22 17:19:57 381

原创 带外数据

TCP协议 只支持 1字节 带外数据如果发送一个多字节的带外数据:send(fd, "123", 3, MSG_OOB);或者连续发送多次带外数据:send(nConnfd, "cmd=100", 7, 0);send(nConnfd, "x", 1, MSG_OOB);send(nConnfd, "aaa", 3, 0);send(nConnfd, "123",

2016-11-22 15:34:10 298

原创 NetBIOS协议

一、 NetBIOS (网络输入输出系统)简介   ---- 通过主机名称转换IPNETBIOS协议是由IBM公司开发,主要用于数十台计算机的小型局域网。用于将NetBIOS名解析为相应IP地址。在局域网内部使用NetBIOS协议可以方便地实现消息通信及资源的共享。因为它占用系统资源少、传输效率高,所以几乎所有的局域网都是在NetBIOS协议的基础上工作的。本机的NetBIOS

2016-11-22 15:32:17 968

原创 ICOP Win异步通讯

iocp (I/O Completion Port,I/O 完成端口 ) 是 Windows 异步通讯机制完成端口大概的处理流程:1:创建一个完成端口。2:创建一个线程A。3:A线程循环调用GetQueuedCompletionStatus()函数来得到IO操作结果,这个函数是个阻塞函数。4:主线程循环里调用accept等待客户端连接上来。5:主线程里accept返回新

2016-11-22 15:31:08 552

原创 INADDR_ANY

INADDR_ANY 就是指定地址为 0.0.0.0 的地址,这个地址事实上表示不确定地址, 或" 所有地址 "、"任意地址"。如果服务器有多个网卡(每个网卡上有不同的IP地址),bind INADDR_ANY, 服务器程序则在0.0.0.0这个地址上进行侦听。告诉操作系统:"我需要在yyyy端口上侦听,所以不管是哪个网卡/哪个IP地址接收到发送到这个端口的数据,都是我处理的。"

2016-11-22 15:24:18 393

原创 ICMP

2016-11-22 15:23:29 307

原创 回环接口 loopback

大多数的产品都支持 环回接口 (Loopback Interface),以允许运行在 同一台主机上 的客户程序和服务器程序通过TCP/IP进行通信。A类网络号127就是为环回接口预留的。根据惯例,大多数系统把IP地址 127.0.0.1 分配给这个接口,并命名为 localhost 。一个传给环回接口的IP数据报 不能在任何网络上出现。传给广播地址或多播地址的数据报复制一份

2016-11-22 15:21:30 626

原创 TCP/UDP 报最大长度

传输层:对于UDP协议来说,整个包的最大长度为65535,其中包头长度是65535-20=65515;对于TCP协议来说,整个包的最大长度是由最大传输大小(MSS,Maxitum Segment Size)决定,MSS就是TCP数据包每次能够传输的最大数据分段。为了达到最佳的传输效能TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需要

2016-11-22 15:11:48 11457

原创 IP-TOS字段

服务类型 (TOS)字段包括一个3 bit的优先权子字段(现在已被忽略),4 bit的TOS子字段和1 bit未用位但必须置04 bit的TOS分别代表: 最小时延、最大吞吐量、最高可靠性和最小费用 。4 bit中只能置其中1 bit。如果所有4 bit均为0,那么就意味着是一般服务。

2016-11-22 15:07:20 9308

原创 TC/IP 协议格式

(1)数据链路层IEEE 802.2/802.3(RFC 1042)和以太网的封装格式(RFC 894)(2) IP层(3)TCP(4)UDP

2016-11-22 15:04:56 1302

空空如也

空空如也

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

TA关注的人

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