专题:最佳实践
共8篇相关文章

如何正确使用apue中的dup2函数实现文件描述符的复制?
管道与重定向常常需要使用dup与dup2复制句柄,其中dup2又较为常用,但是使用dup2有几个小坑需要注意。 int dup2(int oldfd, int newfd); man手册页上是这样讲的,oldfd是想要复制的句柄,newfd...
![如何用poll检测管道断开[apue]实现疑问?](/view/img/nopic.png)
如何用poll检测管道断开[apue]实现疑问?
一般使用 poll 检测 socket 或标准输入时,只要指定 POLLIN 标志位,就可以检测是否有数据到达,或者连接断开: 1 struct pollfd fds[3]; 2 fds[0].fd = STDIN_FILENO; 3 fd...

如何深入理解并高效处理TCP中的紧急数据(OOB)应用场景?
前言 在上大学的时候,我就听说了 OOB 这个概念(Out Of Band 带外数据,又称紧急数据)。当时老师给的解释就是在当前处理的数据流之外的数据,用于紧急的情况。然后就没有然后了…… 毕业这么多年了,回想一下,还真是没有接触过 OOB...

Solaris pipe为何如此神奇,能实现处理?
说到 pipe 大家可能都不陌生,经典的pipe调用配合fork进行父子进程通讯,简直就是Unix程序的标配。 然而Solaris上的pipe却和Solaris一样是个奇葩(虽然Solaris前途黯淡,但是不妨碍我们从它里面挖掘一些有价值的...

epoll的哪些不为人知的特性,能让你在编程中如鱼得水?
之前曾经使用 epoll 构建过一个轻量级的 tcp 服务框架: 一个工业级、跨平台、轻量级的 tcp 网络服务框架:gevent 在调试的过程中,发现一些 epoll 之前没怎么注意到的特性。 a) iocp 是完全线程安全的,即同时可以...

sysconf的四种返回状态究竟是什么?
众所周知,sysconf 用来返回某种常量的定义或者资源的上限,前者用于应用动态的判断系统是否支持某种标准或能力、后者用于决定资源分配的尺寸。 但是你可能不知道的是,sysconf 可以返回四种状态: 常量定义本身或资源上限 (&a...

如何通过Learn Git Branching掌握Git分支的所有那些事儿?
Learn Git Branching 是一个图形化的 git 教学网站,它有一个沙盒可以直接在上面模拟 git 的各种操作,使用图形的方式展示结果,非常直观。本文可以看作是它的文字版,将其中各级关卡所要学习的概念和命令提取出来,方便查阅…...

如何不用短路逻辑实现STL排序器的多条件比较?
前言 最近工期紧、任务多,没有时间更新博客,就水一期吧。虽然是水,也不能太水,刚好最近工作中遇到一个 sorter 多条件排序的问题,花费了半天时间来定位解决,就说说它吧。 背景 公司产品是一个跨端的数据传输 sdk,当下载资源时,会先从服...
