Back to Blog

socket编程API总结

#socket#编程#server#struct#stream#api

下面将逐行解释代码的关键点,并补充常见的调试技巧。

1. 头文件与宏定义

头文件作用
<sys/types.h>定义基本数据类型,如 size_tpid_t 等。
<sys/socket.h>声明 socket 相关函数(socketbindlistenacceptrecv 等)。
<netinet/in.h>包含 IPv4 地址结构 sockaddr_in 以及网络字节序转换宏(htonsntohs)。
<unistd.h>提供 closereadwrite 等系统调用。
<stdio.h><stdlib.h><string.h><errno.h>标准 I/O、内存操作、错误处理等常用库。

宏定义:

  • SERVPORT 3333:服务器监听的端口号。可以根据实际需求修改。
  • BACKLOG 10listen 时的等待队列长度,决定未完成握手的最大连接数。
  • MAXDATASIZE 5:一次 recv 能接收的最大字节数,这里仅作演示,实际应用应根据业务需求设定更大的缓冲区。

2. 创建套接字 socket