linux 网络编程
文章平均质量分 79
陈鸿儒
这个作者很懒,什么都没留下…
展开
-
linux 网络编程【四】 非阻塞通信poll
函数原型#include int poll(struct pollfd fds[], nfds_t nfds, int timeout);typedef struct pollfd { int fd; /* 需要被检测或选择的文件描述符*/ short events;转载 2014-01-06 12:41:24 · 501 阅读 · 0 评论 -
linux 网络编程【二】 基本阻塞通信
基本流程服务器端声明句柄fd和网络地址sockaddr_in赋值sockaddr_in为服务器的端口和INADDR_ANY表明监听任意连接调用socket函数创建一个socket并赋值句柄为fd调用bind函数将句柄fd和网络地址sockaddr_in进行绑定调用listen函数开始监听客户端的连接调用accept函数获得连接的客户端调用send recv函数进行数据发转载 2014-01-06 12:40:14 · 474 阅读 · 0 评论 -
linux 网络编程【三】 非阻塞通信select
函数声明select函数int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);说明:int maxfdp是一个整数值,是指集合中所有文件描述符的范围,即所有文件描述符的最大值加1。fd_set *readfds是指向fd_set结构的转载 2014-01-06 12:40:49 · 549 阅读 · 0 评论 -
linux 网络编程【一】 socket地址
linux socket中三种地址sockaddr普通的socket地址[cpp] view plaincopytypedef unsigned short sa_family_t; struct sockaddr { sa_family_t sa_family; /* address family, AF_xxx转载 2014-01-06 12:39:35 · 653 阅读 · 0 评论 -
linux 网络编程【五】 非阻塞通信epoll
Epoll引入Epoll在linux 2.6内核中引入,替代了以前的select/poll模型,能够充分支持linux下的大规模并发网络程序。Epoll和其他linux下并发网络程序对比PPC典型的Apache模型,Process Per Connection,为每一个新的连接创建一个进程进行相关的处理。TPCThread Per Connection,为每一个新的连接创建转载 2014-01-06 12:42:09 · 609 阅读 · 0 评论 -
wait WNOHANG 僵尸进程
什么是僵尸进程?首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息。这些信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间,所以当终止子进程的父进程调用wait或waitpid时就可以得到这些信息。而僵尸进程就是指:一个进程执行了exit系统调用退出,而其父进程并没有为它收尸(调用wait或wa转载 2014-05-12 13:11:29 · 688 阅读 · 0 评论 -
Linux--线程编程
进程 系统中程序执行和资源分配的基本单位 每个进程有自己的数据段、代码段和堆栈段 在进行切换时需要有比较复杂的上下文切换 线程 减少处理机的空转时间,支持多处理器以及减少上下文切换开销, 比创建进程小很多 进程内独立的一条运行路线 处理器调度的最小单元,也称为轻量级进程可以对进程的内存空间和资源进行访问,并与同一进程中的其他线程共享 线程转载 2014-05-27 22:34:12 · 337 阅读 · 0 评论