
UNP读书笔记
文章平均质量分 81
anmumu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
套接字编程简介
1.Socket地址结构1.1 IPv4 ipv4的套接字地址结构占用20个字节struct in_addr{ in_addr_t s_addr; //32-bit}struct sockaddr_in{ uint8_t sin_len; // 1-byte sa_family_t sin_family; // ui原创 2013-06-16 21:07:32 · 498 阅读 · 0 评论 -
TCP C/S程序示例以及问题
利用前面基本的套接字函数,写一个TCP回射服务器程序。并总结出现的问题,以及解决方法。/* * File: main.cpp * Author: zal * * Created on 2013年6月17日, 下午2:45 */#include #include #include #include #include #include #include #in原创 2013-06-17 17:38:38 · 627 阅读 · 0 评论 -
I/O模型以及select和poll函数
Unix下可用的5中I/O模型:1. 阻塞式I/O模型2.非阻塞式I/O模型3.I/O复用(select poll epoll):目前linux下几乎都使用epoll。4.信号驱动式I/O(SIGIO)5.异步I/O(POSIX的aio_系列函数)一、阻塞式I/O模型默认情况下,所有套接字都是阻塞的,write,read套接字时都是阻塞的,下图片来源于UNP。原创 2013-06-18 21:43:22 · 866 阅读 · 0 评论 -
基本socket函数和C/S流程
主要讲解一个完整TCP客户、服务器程序所需要的基本套接字函数。所需函数如图4-1所示(图片来源于linux一站式编程):一、基本函数1. socket函数socket可以看成是用户进程与内核网络协议栈的编程接口。socket不仅可以用于本机的进程间通信,在进程间通信,用共享内存的方式是最快的,但是基于socket的通信移植性较好,在目前分布式几乎都是用的基于socket原创 2013-06-16 21:41:40 · 725 阅读 · 0 评论 -
select poll和epoll使用和区别
Linux下可以通过select poll以及epoll来实现IO复用,所谓I/O多路复用机制,就是说通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就 绪),能够通知程序进行相应的读写操作。select和poll本质上没有什么区别,都时采用轮循的方式,来查看描述符就绪,select有最大链接限 制,而poll使用链表,就没有最大描述符限制。epoll是2.6内核对开始对它原创 2013-06-20 21:28:42 · 813 阅读 · 0 评论 -
基本UDP套接字编程
UDP是无连接不可靠的数据报协议,非常不同于TCP提供的面向连接的可靠字节流。然而相比于TCP,有些场合更适合使用UDP,使用UDP的一些常见应用程序有:DNS,NFS和SNMP。借用linux一站式编程里的图:一、基本套接字函数udp所用函数:#include ssize_t recvfrom(int sockfd, void *buff, size_t nbytes, i原创 2013-06-23 14:48:49 · 610 阅读 · 0 评论 -
非阻塞connect需要处理的问题
套接字状态默认为阻塞的。对于非阻塞的套接字,如果相应的操作没有满足,就会立即返回EWOULDBLOCK错误,使用比较多即TCP的connect函数。阻塞的connect要等到3次握手完成才能返回,因此要完成阻塞的connect,需要一个RTT时间,这个RTT时间波动比较大,在局域网中还好,如果在广域网中可能达到几秒,我们可以再这段时间内继续建立其他链接,或者处理其他工作。这就要使用非阻塞con原创 2013-07-09 20:42:23 · 1241 阅读 · 0 评论 -
select和poll程序测试以及结果分析
一、select程序测试首先启动,UNP程序目录下的tcpcliserv/tcpservselect01.c,当然首先需要编译,UNP每个目录下,都写有Makefile文件,make自动编译一下就可以了。然后运行以下客户端程序;#include #include #include #include #include #include #define SERV_PORT原创 2013-06-23 12:53:55 · 740 阅读 · 0 评论 -
守护进程和inetd超级服务器
守护进程(daemon)一般在系统自举时启动,直到系统关闭时才终止。没有控制终端,在后台运行。编写守护进程的规则:1、首先umask将文件屏蔽字设置为0原因:由父进程继承来的文件屏蔽字,可能屏蔽了读写权限,所以回复初始权限2、fork子进程,然后父进程exit退出,(一般fork两次)原因:子进程继承父进程的进程组ID,但是有新的进程ID,这就保证子进程不是一个进程组的组长原创 2013-06-26 20:52:06 · 589 阅读 · 0 评论