
网络编程 epoll & libevent
文章平均质量分 89
yuanchunsi
这个作者很懒,什么都没留下…
展开
-
epoll
生活中的例子:区分select和epoll以一个生活中的例子来解释.假设你在大学中读书,要等待一个朋友来访,而这个朋友只知道你在A号楼,但是不知道你具体住在哪里,于是你们约好了在A号楼门口见面.如果你使用的阻塞IO模型来处理这个问题,那么你就只能一直守候在A号楼门口等待朋友的到来,在这段时间里你不能做别的事情,不难知道,这种方式的效率是低下的.进一步解释select和epoll模型的原创 2016-08-26 17:17:53 · 866 阅读 · 0 评论 -
select
select函数: 系统提供select函数来实现多路复用输入/输出模型。原型: #include <sys/time.h> #include <unistd.h> select函数: 系统提供select函数来实现多路复用输入/输出模型。原型: #include <sys/time.h> #include <unistd.h> in...原创 2018-03-29 17:59:11 · 337 阅读 · 0 评论 -
linux非阻塞式socket编程之select()用法
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方转载 2017-08-28 11:38:43 · 2546 阅读 · 0 评论 -
RELAY服务器(libevent)
网络编程基于libevent编写转发服务器,通过magicID进行socket配对,本示例为最初demo有bug,只能参考!!!原创 2016-08-25 16:06:09 · 2360 阅读 · 0 评论 -
ssl示例和流程
编译程序用下列命令:gcc -Wall ssl-client.c -o clientgcc -Wall ssl-server.c -o server转载 2017-10-28 13:16:20 · 1499 阅读 · 0 评论 -
Epoll示例
#include #include #include #include #include #include #include #include #include #include using namespace std;#define MAXLINE 32#define OPEN_MAX 100#define LISTENQ 20#define SERV_PORT原创 2017-06-08 13:30:00 · 496 阅读 · 0 评论 -
net-speed
获取网路速度~~~~~原创 2017-08-30 14:40:32 · 585 阅读 · 0 评论 -
C实现SSDP协议的设备发现及设备搜索
/* * =========================================================================== * * Filename: ssdpServer.c * Description: 设备发现服务(自实现ssdp协议,获取USERNAME进行绑定) * Version: 1.0 * ...原创 2017-08-30 13:43:04 · 7307 阅读 · 4 评论 -
QQ物联对接
现象:APP播放出声音有一顿一顿的现象,不连贯。排查过程:1)没有丢包解码出来的PCM数据也是正常的,一开始以为Faad2解码性能太慢2)单独测试Faad2解码接口发现一秒钟解码30多包数据,这个速度完全够了排除这个可能性3)怀疑手机性能低,换手机,关掉视频流都不行,排除这个可能性4)抓日志发现APP获取网络音频队列总是溢出,说明APP消耗音频数据慢与供给5)发现APP固定一秒钟消耗5包音频数据,网络每秒供给7-8包数据,原因找到。原因:QQ物联给的是8KHZ,单声道的AAC数据原创 2017-08-04 16:00:28 · 912 阅读 · 0 评论 -
服务端TIME_WAIT解决
这篇博客提供了原因和解决思路 ~~~~!转载 2017-09-13 10:10:31 · 1337 阅读 · 0 评论 -
ACE实现SSDP设备发现
下载链接:http://download.youkuaiyun.com/download/yuanchunsi/9950142原创 2017-08-25 14:30:00 · 685 阅读 · 0 评论 -
linux下编译ACE
ACE-Linux库:http://download.youkuaiyun.com/download/yuanchunsi/9950130原创 2017-08-25 14:31:52 · 563 阅读 · 1 评论 -
SSDP设备发现流程
设备发现的大致流程: 首先,根据UPNP的规范: 在设备加入网络,UPnP发现协议允许设备向控制点广告它的服务。它使用向一个标准地址和端口多址传送发现消息来实现。控制点在此端口上侦听是否有新服务加入系统。为了通知所有设备,一个设备为每个其上的嵌入设备和服务发送一系列相应的发现消息。每个消息也包含它表征设备或服务的特定信息。我们需要在服务(设备)开始时原创 2017-08-25 14:27:48 · 2836 阅读 · 1 评论 -
WebSocket(协议)
一、WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HTTP请求合并为一个,但是Websocket其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容现有浏览器的握手规范而已,也就是说它是HTTP协议上的一种补充可以通原创 2017-07-11 13:27:07 · 459 阅读 · 0 评论 -
socket阻塞与非阻塞,同步与异步
socket阻塞与非阻塞,同步与异步 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步/异步主要针对C端: 同步: 所谓同步,就是在c端发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/S模式(转载 2016-09-06 11:18:12 · 8048 阅读 · 2 评论 -
IO多路复用 IO异步
IO多路复用 IO异步一、概念说明同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的环境给出的答案是不同的。所以先限定一下本文的环境。本文讨论的背景是Linux环境下的network IO在进行解释之前,首先要说明几个概念:- 用户空间和内核空间- 进程切换- 进程的阻塞- 文件描述符- 缓存 I/O用户空间与内核空间现在操作系统都是采用虚拟存储器,那么对32位操...原创 2018-03-30 15:05:07 · 760 阅读 · 0 评论