AF_INET与PF_INET的区别

在一些开源项目的socket相关代码中,会同时看到AF_IENT和PF_INET,这两者有什么区别呢?

其实这两个东西就是当年设计上的误差而已。AF=Adress Family;PF=Protocal Family,原来的设计是设想一个AF会支持多个PF,但是就没有然后了。现在为止,这两个东西就是一样的,Linux源代码为证:

/* Protocol families, same as address families. */  
#define PF_UNSPEC	AF_UNSPEC  
#define PF_UNIX	 AF_UNIX  
#define PF_LOCAL	AF_LOCAL  
#define PF_INET	 AF_INET  

FastDFS中的tcprecvdata_ex与tcprecvdata_nb_ex

FastDFS与socket相关的函数一般放在common/sockopt.c文件里,其中有两个函数,非别为tcprecvdata_ex和tcprecvdata_nb_ex。从名字上看,很明显后者是想表达nonblock的意思,那么看代码证实一下。它们的代码分别如下:

linux下获取本地ip的几种方法

1.调用getifaddrs

The getifaddrs() function first appeared in glibc 2.3, but before glibc 2.3.3, the implementation supported only IPv4 addresses; IPv6 support was added in glibc 2.3.3. Support of address families other than IPv4 is available only on kernels that support netlink.

梦境

很奇怪的一个梦。

开始我似乎在一个黑暗的监狱里,浑身发抖,抱着膝盖蜷在墙角,像一条瑟瑟发抖的狗。忽然一道月光照下来,我慢慢站起来,展开双臂,发现臂下连着一双乌黑的翅膀。迎着月光,纵身一跃,化身为蝙蝠侠,滑翔在城市的夜空。滑翔了几分钟之后,猛然振翅向更高更亮处飞去,突然发现自己已经不是蝙蝠侠了,这次变成了阿凡达。

梦是什么时候醒的不知道了,这段时间,特别是午休时,经常从噩梦中惊醒,或是在噩梦中挣扎着想醒来却动弹不得。能做一下美梦,挺好的,而且梦里几个镜头的衔接简直太漂亮了,闭上眼睛依然能有强烈的画面感在脑中回想。

strider教你巧记五度圈

五度圈在乐理中有很重要的地位,在布鲁斯口琴而言,最直接的用处就是确定不同把位之间调性的转换关系。在这篇文章里不会设计五度圈的来历、作用,仅仅是教您如何牢固的记忆五度圈,这样可以在调性转换的时候直接用到。

如果你已经能够很顺利的将五度圈画下来,不管是通过什么方法,哪怕是死记硬背来的,这篇文章就不适合您。

我假设您已经知道十二平均律是怎么回事,其实,只需要知道3,4和7,1之间是半音,其他各音之间是全音就可以了。一个八度内的音程被分成了12个半音,所以称为十二平均律。

我们来看看五度圈是个什么样子:

wuduquan-1.jpg