03 2019 档案
摘要:1.1 gdb 调试工具常用命令 list:展开调试的源代码,缩写 l; break:设置断点,缩写为 b; info break:查看断点信息,缩写为 i b delete:删除断点 print:打印变量的值,缩写为 p; run:程序开始运行,缩写 r,在 r 后可以加入程序启动启动参数,程序运
阅读全文
摘要:61.1 介绍 守护进程(daemon)是生存期长的一种进程。它们常常在系统引导装入时启动,在系统关闭时终止 守护进程也称为后台进程 所有守护进程都以超级用户(用户 ID 为0)的优先权运行。 守护进程没有控制终端 守护进程的父进程都是 init 进程 62.2 例子 62.2.1 编程步骤 使用
阅读全文
摘要:60.1 介绍 60.2 例子 echo_tcp_server_select.c 编译运行测试:
阅读全文
摘要:59.1 介绍 前面介绍的函数如,recv、send、read 和 write 等函数都是阻塞性函数,若资源没有准备好,则调用该函数的进程将进入阻塞状态。我们可以使用 I/O 多路复用来解决此问题(即解决并发)。 I/O 多路复用的方式主要有两种实现方法 fcntl 函数实现(非阻塞方式) sele
阅读全文
摘要:58.1 广播介绍 58.1.1 介绍 广播实现一对多的通讯 它通过向广播地址发送数据报文实现的 58.1.2 套接字选项 套接字选项用于修饰套接字以及其底层通讯协议的各种行为。函数 setsockopt 和 getsockopt 可以查看和设置套接字的各种选项。 optname 选项 SO_BRO
阅读全文
摘要:57.1 介绍 57.1.1 域名解析 57.1.2 域名解析函数 gethostent 可以获取多组,gethostbyname 只可以获取一组 /etc/hosts 文件设置了域名和 IP 的绑定关系 57.2 例子 57.2.1 例子1 gethost.c 修改下 /etc/hosts 文件,
阅读全文
摘要:56.1 UDP 编程模型 56.1.1 编程模型 UDP 协议称为用户数据报文协议,可靠性比 TCP 低,但执行效率高 56.1.2 API (1)发送数据 函数参数: sockfs:套接字文件描述符 buf:发送的数据 len:发送的数据的大小,即多少个字节 flags:一般设置为0 dest_
阅读全文
摘要:55.1 TCP 连接和关闭过程 55.1.1 介绍 建立连接的过程就是三次握手的过程:客户端发送 SYN 报文给服务器,服务器回复 SYN+ACK 报文,客户机再发送 ACK 报文。 关闭连接的过程:客户机先发送 FIN 报文,服务器回复 ACK 报文,服务器再发送 FIN 报文,客户机再发送响应
阅读全文