socket编程API总结
#socket#编程#server#struct#stream#api
下面将逐行解释代码的关键点,并补充常见的调试技巧。
1. 头文件与宏定义
| 头文件 | 作用 |
|---|---|
<sys/types.h> | 定义基本数据类型,如 size_t、pid_t 等。 |
<sys/socket.h> | 声明 socket 相关函数(socket、bind、listen、accept、recv 等)。 |
<netinet/in.h> | 包含 IPv4 地址结构 sockaddr_in 以及网络字节序转换宏(htons、ntohs)。 |
<unistd.h> | 提供 close、read、write 等系统调用。 |
<stdio.h>、<stdlib.h>、<string.h>、<errno.h> | 标准 I/O、内存操作、错误处理等常用库。 |
宏定义:
SERVPORT 3333:服务器监听的端口号。可以根据实际需求修改。BACKLOG 10:listen时的等待队列长度,决定未完成握手的最大连接数。MAXDATASIZE 5:一次recv能接收的最大字节数,这里仅作演示,实际应用应根据业务需求设定更大的缓冲区。