通常,服务器启动时,任何 Handler 模块都有可能去处理配置文件中的 location 定义。若出现多个Handler 模块被配置成需要处理某一特定的 location 时,最终只有其中一个Handler 模块是成功的。Handler 模块有三种返回方式...
#include stdio.h #include winsock2.h #pragma comment(lib,ws2_32.lib) int doit(int, char **) { char host_name[255]; //获取本地主机名称 if (gethostname(host_name, sizeof(host_name)) == SOCKET_ERROR) { printf(Error %d when getting local host name.\n, W...
因为WIN32_LEAN_AND_MEAN 宏没有定义的情况下windows.h才会包含 WinSock.h 头文件的。具体可以看windows.h文件。stdafx.h头文件就是先定义了一个WIN32_LEAN_AND_MEAN的。...
DNS(Domain Name System)域名系统提供了主机名和IP地址之间的转换。通常我们在应用程序中使用库函数gethostbyname()和gethostbyaddr()来完成两者之间的转换。但是为了更深入的学习网络底层知识,有必要从源代码级别来分析和实现...
epoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。要使用epoll只需要这三个系统调用:epoll_create(2), epoll_ctl(2), epoll_wait(2)。 当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux ker...
IP数据包也叫IP报文分组,传输在ISO网络7层结构中的网络层,它由IP报文头和IP报文用户数据组成,IP报文头的长度一般在20到60个字节之间,而一个IP分组的最大长度则不能超过65535个字节。...
Session Secret(Key)是从Key Materaial中获取的。Key Material的计算跟Master Secret(Key)的计算类似,只不过计算的次数要多。 Key Material需要计算12次,从而产生12个hash值,计算过程如图...
SSL协议,是一种安全传输协议,最初是由 Netscape 在1996年发布,由于一些安全的原因SSL v1.0和SSL v2.0都没有公开,直到1996年的SSL v3.0。TLS是SSL v3.0的升级版,目前市面上所有的Https都是用的是TLS,而不是SSL。本文主要分析和讲解TLS。...
很多人一开始研究Https SSL/TLS的时候,都很困惑PreMaster/Master Secret(Key)是如何被计算出来的,最近通过翻看其他资料以及 openssl的源码,总结出PreMaster/Master Secret(Key)的计算流程如图所示...
落鹤生:前阵子在一个PPC 85xx的板子上出面一个问题,两个会议终端正常入会,入会后直接将其中一个终端关机(或拔网线),结果导致另一终端的线程一直处于堵塞状态,经查发现该终端的socket(TCP)一直处于FIN_WAIT1的状态,要等到十几分钟之后该socket才能被正常关闭。...
通常,服务器启动时,任何 Handler 模块都有可能去处理配置文件...
TDW从实际情况出发,采取了一系列的优化措施,成功实施了单个...
为了在各线程之间高效的传递消息,必须设计一种高效率的消息...
终于开始学习epoll了,虽然不明白的地方还是很多,但从理论到...
1、fcntl 头文件#include fcntl.h #include fcntl.h 定义函数int fcntl(int fd...
UDP一次发送数据包的大小,TCP一次发送数据包的大小。UDP 包的大...