- 博客(14)
- 资源 (17)
- 收藏
- 关注
转载 使用异步IO大大提高应用程序的性能之二
紧接上文下一节将深入介绍这种模型,探索这种模型使用的 API,然后展示几个命令。一、异步 I/O 的动机从前面 I/O 模型的分类中,我们可以看出 AIO 的动机。a. 阻塞模型需要在 I/O 操作开始时阻塞应用程序,这意味着不可能同时重叠进行处理和 I/O 操作。b. 同步非阻塞模型允许处理和 I/O 操作重叠进行,但是这需要应用程序根据重现的规则来检查 I/O
2013-05-31 18:02:44 920
转载 使用异步IO大大提高应用程序的性能之一
学习何时以及如何使用 POSIX AIO APIM. Tim Jones (mtj@mtjones.com), 顾问工程师, Emulex简介: Linux? 中最常用的输入/输出(I/O)模型是同步 I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待 I/O 请求完成时不需要使用任何中央处理单元(CPU)。
2013-05-31 17:52:25 1097
原创 IO中同步、异步与阻塞、非阻塞的区别
一、同步与异步同步/异步, 它们是消息的通知机制1. 概念解释A. 同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是 SendMessage。该函数
2013-05-31 11:46:38 1476
翻译 3GP 的 DASH设计原则与标准
Dynamic Adaptive Streaming ove HTTP(DASH) Design Principles and Standards3GP 的 DASH设计原则与标准Thomas Stockhammer 高通公司ABSTRACT本文对3GPP和MPEG采纳的DASH标准文档做了深入理解。特别地,3GPP版本提供了对媒体表示--分段格式,和传输协议做了规范描述。
2013-05-13 21:18:54 2220
翻译 Dynamic Adaptive Streaming over HTTP Dataset
Dynamic Adaptive Streaming over HTTP DatasetStefan Lederer, Christopher Müller, and Christian TimmererAlpen-Adria-Universit?t KlagenfurtUniversit?tsstra?e 65-679020 Klagenfurt am W?rth
2013-05-12 21:48:02 2478
原创 录制UDP组播数据到文件(2)
3.2. 初始化UDP组播数据接收1 int init_udp(UDPContext **pp_udpctx, 2 char *host, char *addr, int port)3 {4 UDPContext *p_ctx = NULL;5 int error;6 int ret;7 char *err_msg;8
2013-05-09 15:17:04 1507
原创 录制UDP组播数据到文件(1)
简介:网上的通常的UDP组播程序都只是简单的示例,通常也只是支持本机为单网卡的情况,未达到应用的级别。本程序支持本机多网卡(即多IP),指定IP接收UDP组播数据存储成文件。而且本程序是多线程并行的工作方式,能保证数据并行接收与存储,从而不会造成数据丢失。本程序还对UDP组播数据的初始化,接收和结束进行了封装,方便应用开发。最后说明一下,本程序借鉴ffmpeg的相关代码,完
2013-05-09 15:03:19 2084
转载 getsockopt()和setsockopt()函数详解
功能描述:获取或者设置与某个套接字关联的选项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。用法:#i
2013-05-09 12:50:03 1492
转载 UDP组播
随着internet的飞速发展,利用internet进行协作开发的项目越来越多。对某些应用而言,如分布式数据库开发,一个开发工作组有很多人需在不同的地点协作并经常交换情况。在组的规模比较小的情况下,只需点对点交换信息即可;如果组的规模比较大,点对点交换信息不管对网络还是对信息发送者,都是一种负担,代价昂贵。有时虽可用广播的方式进行处理,但如果在一个上百万节点的网络上向数千台
2013-05-09 11:32:43 2002
转载 socket编程之addrinfo结构体与getaddrinfo函数
原文链接:http://blog.chinaunix.net/uid-26583794-id-3167485.htmladdrinfo结构体的定义如下:struct addrinfo { int ai_flags; /* customize behavior */ int ai_family; /* address fami
2013-05-09 10:23:59 1258
转载 C下如何实现printf在同一行打印,如安装程序进程显示
#include #include char well[11] = " ";int i = 0;for(i = 0; i { well[i] = '#'; printf("\r%s %d%%",well,(i+1)*10); // /r是回车的转义符,目的是回到行首 fflush(stdout);
2013-05-08 10:43:41 6274
转载 linux下错误的捕获:errno和strerror的使用
经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用errno这个全局变量就相当有用了。在程序代码中包含 #include ,然后每次程序调用失败的时候,系统会自动用用错误代码填充errno这个全局变量,这样你只需要读err
2013-05-04 12:20:15 874
转载 程序员的出路之一
就现在经济大环境而言,很不乐观,程序员的日子也很不好过,无论是还在找工作的、还是已经入职多年、哪怕做到项目经理技术经理的,压力都异常巨大,似乎处处充满危机。但是,仔细分析一下,出路还是有的,甚至解决温饱、过上有房有车没贷款的生活也是很可能的。首先,在如今这个浮躁的社会,大多数人的心态也是浮躁的,只要你能潜下心来,深入研究某个技术,有了一技之长,温饱问题肯定就可以先解决了。1.一技之长
2013-05-03 22:34:55 912
原创 Perl实现后台守护进程
有时候需要用perl实现一个服务程序,即linux常说的守护程序(daemon),而我们往往希望这样的程序能够在后台运行。有些人一般是直接用bg命令把程序放到了后台,这么做有一些问题。下面提供一个标准的守护进程的代码:#!/usr/bin/perl -wuse strict; use POSIX; ### 用fock生成进程,并让父进程退出##o
2013-05-03 12:38:36 4256 1
h264-to-rtmp.copy-frame
2024-02-20
FFmpeg SDK的数据结构与API函数详解
2014-05-04
ffmpegSDK_avc2ts
2014-05-04
ffmpeg SDK与示例程序
2014-04-21
UDP数据接收服务器
2013-09-18
HEVC(h.265)官方文档
2013-05-09
录制UDP组播数据到文件
2013-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人