![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络/协议
文章平均质量分 92
来灵
抬头走路,低头做事。
展开
-
结合实战,浅析GB/T28181(九)——系统校时引起的视频莫名黑屏
本节记录了一次因系统校时,引起的28181视频平台实况点播黑屏问题,对问题的排查过程,解决方案和一些思考总结。原创 2022-09-23 16:00:13 · 1607 阅读 · 2 评论 -
基于libevent的C++高并发、易扩展HTTP服务迭代之路
在项目或产品开发中,需要用C++实现一个高并发且易扩展的HTTP Server,那么我们可以基于libevent来做这件事情。Libevent提供了HTTP Server等组件,并且支持多线程编程。下面我们一起来看一下实现过程。原创 2022-09-06 16:42:18 · 2915 阅读 · 1 评论 -
结合实战,浅析GB/T 28181(二)——设备目录同步
设备目录通常包括系统、行政区域、设备、业务分组、虚拟组织、摄像机这些目录节点。原创 2022-07-21 14:02:52 · 2413 阅读 · 0 评论 -
反应器模式(Reactor)
通常的,对一个文件描述符指定的文件或设备, 有两种工作方式: 阻塞与非阻塞。所谓阻塞方式的意思是指, 当试图对该文件描述符进行读写时, 如果当时没有东西可读,或者暂时不可写, 程序就进入等待状态, 直到有东西可读或者可写为止。而对于非阻塞状态, 如果没有东西可读, 或者不可写, 读写函数马上返回, 而不会等待。 在前面的章节中提到的Tcp通信的例子中,就是采用的阻塞式的工...原创 2013-02-21 16:53:52 · 1486 阅读 · 0 评论 -
实时传输协议:RTP、RTCP、RTSP介绍
http://blog.csdn.net/heanyu/article/details/6202500 RTP(Real Time Transport Protocol) RTP是针对Internet上多媒体数据流的一个传输协议, 由IETF(Internet工程任务组)作为RFC1889发布。RTP被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息...原创 2012-06-15 12:56:57 · 4179 阅读 · 0 评论 -
HTTP协议详解
原文:HTTP协议详解引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Gen原创 2012-05-16 22:42:49 · 1545 阅读 · 0 评论 -
Reactor An Object Behavioral Pattern for Demultiplexing and Dispatching Handles for Synchronous Eve
原文链接 An earlier version of this paper appeared as a chapter in the book “Pattern Languages of Program Design” ISBN 0-201-6073-4, edited by Jim Coplien and Douglas C. Schmidt and published by Ad...原创 2014-03-28 17:47:30 · 2804 阅读 · 0 评论 -
Proactor An Object Behavioral Pattern for Demultiplexing and Dispatching Handlers for Asynchronous
原文链接This paper appeared at the 4th annual Pattern Languages of Programming conference held in Allerton Park, Illinois, September, 1997.Modern operating systems provide multiple mechanisms for deve...原创 2014-03-28 17:44:27 · 2106 阅读 · 0 评论 -
高性能I/O设计模式概述
原文链接 这篇概述把网上的一些资料汇总到了一起,主要目的是解释清楚I/O模型的概念和Reactor、Proactor模式。 目录服务器的几种实现方法服务器一般需要支持高性能的I/O,大并发等。第一种实现一个服务器的想当然的方法是,当有请求过来时,就 fork 一个子进程进行处理。这种方法易于理解,实现简单,如果并发量比较小,应该也能应付。但是如果是高并发的服务器就...原创 2014-03-28 17:50:43 · 2567 阅读 · 0 评论 -
TLV 格式及编解码示例
TLV是一种可变格式,意思就是:Type类型, Lenght长度,Value值;Type和Length的长度固定,一般那是2、4个字节(这里统一采用4个字节);Value的长度有Length指定;编码方法:1. 将类型type用htonl转换为网络字节顺序,指针偏移+42. 将长度length用htonl转换为网络字节顺序,指针偏移+43.原创 2011-11-15 19:03:56 · 83325 阅读 · 3 评论 -
gSOAP C++移植和开发总结
原文:http://blog.csdn.net/acs713/article/details/12920623原创 2014-08-15 14:23:54 · 2211 阅读 · 1 评论 -
邮件正文及其附件的发送的C++实现
来源这段代码我花了整整一天来编写,如果转载,请注明出处,谢谢! 前面的一篇文章已经讲了如何发送邮件正文,原理我就不再叙述了,要了解的同学请到这里查看! http://blog.csdn.net/lishuhuakai/article/details/27503503 网上很多发送邮件附件的代码都不能用,所以我用心写了一个,直接封装成了一个原创 2015-05-05 17:40:56 · 3223 阅读 · 0 评论 -
epoll简介
http://www.cnblogs.com/haippy/archive/2012/01/09/2317269.htmlepoll 是Linux内核中的一种可扩展IO事件处理机制,最早在 Linux 2.5.44内核中引入,可被用于代替POSIX select 和 poll 系统调用,并且在具有大量应用程序请求时能够获得较好的性能( 此时被监视的文件描述符数目非常大,与旧的转载 2018-01-19 16:41:44 · 347 阅读 · 0 评论 -
套接字选项和I/O控制命令
套接字一旦建立,通过套接字选项和I/O控制命令对各种属性进行操作,便可对套接字的行为产生影响。有的选项只用于信息的返回,而有的选项则可在应用程序中影响套接字的行为。I / O控制命令肯定会对套接字的行为产生影响。 下 面着重讨论四个Winsock函数:getsockopt、setsocketopt、ioctlsocket和WSAIoctl 。每个函数都有大量命 令。这些I/O控制命原创 2012-12-11 11:01:03 · 2407 阅读 · 0 评论 -
一个基于 osip 库的 UAC 和 UAS 的代码整理
来自:http://blog.chinaunix.net/uid-7684977-id-2569711.html /** * 一个使用了 osip 和 eXosip 库的 UAC 代理客户端的演示程序 * * - 只是简单的演示了使用了 osip 和 eXosip2 库的 UAC 代理客户端的如下几个功能: * * i 发起呼叫 INVITE 请求 * * h 挂断会话 *...原创 2012-11-06 18:59:51 · 2009 阅读 · 0 评论 -
Socket API 之 conncet 函数
(1)connect描述定义函数:int connect (int sockfd,struct sockaddr * serv_addr,int addrlen);connect函数通常用于客户端建立tcp连接。参数:sockfd:标识一个套接字。serv_addr:套接字s想要连接的主机地址和端口号。addrlen:name缓冲区的长度。返回值:原创 2012-10-30 14:19:46 · 1604 阅读 · 0 评论 -
epoll精髓
<br />在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。<br />相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:<br />#define __FD_SETSIZE 1024<br />表示select最多同时监听1024转载 2010-09-21 14:49:00 · 955 阅读 · 0 评论 -
TCP协议可靠性数据传输实现原理分析
TCP 协议是一种面向连接的,为不同主机进程间提供可靠数据传输的协议。TCP 协议假定其所使用的网络栈下层协议(如IP 协议)是非可靠的,其自身提供机制保证数据的可靠性传输。在目前的网络栈协议族中,在需要提供可靠性数据传输的应用中,TCP 协议是首选的,有时也是唯一的选择。TCP 协议是在最早由Cerf 和Kahn[1]所提出的有关网络数据包传输协议的概念之上建立的。TCP 协议被设计成符合分层协议结构,工作在ISO/OSI 七层网络模型中的传输层中,使用网络层协议(如最常见的IP 协议)提供的服务。网络层原创 2011-01-07 16:59:00 · 27315 阅读 · 5 评论 -
ZigBee无线协议学习笔记(1)
1. ZigBee简介1.1. 概述zigbee协议栈结构由一些层构成,每个层都有一套特定的服务方法和上一层连接,称为协议。数据实体(data entity)提供数据的传输服务,而管理实体(management entity)提供所有的服务类型。每个层的服务实体通过服务接入点(service access point SAP)和上一层相接,每个SAP提供大量服务方法来完成相应的操作。zigbee协议栈基于标准的OSI七层模型,但只是在相关范围来定义一些相应层来完成特定的任务。IEEE802.原创 2011-01-12 11:20:00 · 18936 阅读 · 0 评论 -
ZigBee无线协议学习笔记(2)
1. 寻址1.1. 地址类型<br />ZigBee设备有两种类型的地址。一种是64位IEEE地址(物理),即MAC地址,另一种是16位网络地址。64位地址是全球唯一的地址,设备将在它的生命周期中一直拥有它,通常由制造商或者被安装时设置。这些地址由IEEE来维护和分配。16位网络地址是当设备加入网络后由协调器或路由器分配的。它在网络中是唯一的,用来在网络中鉴别设备和发送数据。1.2. 网络地址分配<br />ZigBee使用分布式寻址方案来分配网络地址。这个方案保证在整个网络中所有分配原创 2011-01-15 09:30:00 · 10566 阅读 · 0 评论 -
ZigBee无线协议学习笔记(3)
9. 四节点网络应用9.1. 连接和绑定每个WPAN均有一个PAN协调器,允许连接所有其他形式的ZigBee器件以形成网络。路由器负责路由数据,并允许终端设备与其他路由器自动接入。网络连接网络绑定9.2. 特征形成ZigBee网络;器件关联性;应用绑定;器件间的路由通信;无线化的“Sensing-and-acting”(灯的On/Off控制通过按键开关来实现);自修复/路由修复。9.3. 网络形成 建立PAN协调器,为PAN协调器上电(P);自动网络。 关联网络设备Router(R1)、Router2(R2原创 2011-05-10 13:45:00 · 5469 阅读 · 0 评论 -
PPPoE协议规范
<br />在以太网上传输PPP的方法(PPPoE)<br />(RFC2516 A Method for Transmitting PPP Over Ethernet (PPPoE))<br />本备忘录状态<br /> This memo provides information for the Internet community. It does<br /> not specify an Internet standard of any kind. Distribution of th原创 2011-05-21 16:21:00 · 3260 阅读 · 0 评论 -
使用Socket套接字绑定函数bind的一个细节
只要稍微接触Socket套接字进行过网络编程的人,对Socket客户端调用流程或服务端调用流程都会很熟悉,传输层协议采用TCP也好,或UDP也罢。但是要写好这套“固化”的流程代码,如果稍不小心,或缺乏经历,还是很容易犯错误的,尤其当项目程序在迭代开发过程中,功能越来越多,也越来越复杂的情况下。 就在前几天,我碰到了这样一个细节问题。 协议栈Demo程序中有个设备校时的功能,采用原创 2011-11-05 21:09:10 · 9553 阅读 · 1 评论 -
SIP协议简介
Internet的许多应用都需要建立和管理一个会话,会话在这里的含义是在参与者之间的数据的交换。由于考虑到参与者的实际情况,这些应用的实现往往是很复杂的:参与者可能是在代理间移动,他们可能可以有多个名字,他们中间的通讯可能是基于不同的媒介(比如文本,多媒体,视频,音频等)-有时候是多种媒介一起交互。人们创造了无数种通讯协议应用于实时的多媒体会话数据比如声音,影像,或者文本。本SIP(...原创 2011-11-26 09:39:27 · 3879 阅读 · 1 评论 -
用select模式收发处理数据(跨平台)
本Demo程序模拟C/S传输数据。采用select模式,分别实现了一个客户端小程序和服务端小程序。已在VC2005和Fedroa 13下测试通过。因时间有限,功能简单,欢迎交流,学习! main.cpp#include "Sock.h"/*** 传输数据格式* ___________ _____________* | |原创 2011-08-26 21:31:48 · 4504 阅读 · 0 评论 -
XML和TLV打包解包性能比较
在开发协议的时候,经常会碰到打包解包的问题,不同的项目,不同的平台环境下会要求使用不同的打包解包格式,比如PC(Windows,Linux),或嵌入式设备(Arm),本文就使用XML(TinyXml库)和TLV打包解包的性能,做以比较。 有关TinyXml和TLV的介绍,在之前的博客TinyXml 读写XML文件和TLV 格式及编解码示例中可以看到。这里就不多说了。下边着重介绍一下我做的原创 2011-11-27 12:41:08 · 6591 阅读 · 1 评论 -
模拟NTP协议实现时钟同步
Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。 NTP提供准确时间,首先要有准确的时间来源,这一时间应该是国际标准时间UTC。 NTP获得UTC的时间来源可以原创 2011-11-12 20:59:11 · 12436 阅读 · 3 评论 -
交叉编译之海思3515开发笔记
宿主机(host) :编辑和编译程序的平台,这里用的是基于X86的PC机,在安装了Windows XP系统的个人PC上编辑协议栈程序和模拟程序,使用VS2005开发工具。在个人PC上,将协议栈程序和模拟程序编译通过,测试无问题后,通过ftp上传到基于X86的编译服务器PC机,操作系统为Linux,进行交叉编译。交叉编译成功后,在指定目录下生成下列文件:libstackxxx.sox原创 2011-12-13 18:13:42 · 8836 阅读 · 0 评论 -
Windows 平台上安装测试ACE记录
一,下载安装包谷歌搜索ACE下载,获取ACE57SRC.tar.gz压缩包。其中的57代表该ACE源码为5.7版本的。将其解压在F:/ACE57SRC/ACE_wrappers二,研究安装方法百度搜索“Windows平台上编译安装ACE”,查阅相关资料,研究之。从别人的编译笔记中,我获得一本很有价值的参考书籍《ACE程序员手册》,遂又搜索,在CSDN里花了4分下载到《ACE自适配通...原创 2010-09-15 18:57:00 · 1850 阅读 · 0 评论