基于TCP的socket编程

1. TCP Socket 是什么

TCP:面向连接、可靠、有序、字节流(stream)

Socket:操作系统提供的网络编程接口(文件描述符/句柄)

一句话:

TCP socket 编程就是让两台主机通过"可靠字节流通道"收发数据。

TCP的关键特点 (决定代码写法)

面向连接:先 connect/accept 才能 send/recv

字节流:没有"消息边界" → 会出现粘包/拆包

可靠有序:丢包重传由内核处理,但你仍要处理断线、超时等

2. TCP 通信流程(必须背熟)

服务端(Server)

socket() 创建监听套接字

bind() 绑定 IP:端口

listen() 进入监听状态

accept() 接受连接 → 得到"已连接socket"

recv()/send() 收发数据(循环)

close() 关闭

客户端(Client)

socket() 创建套接字

connect() 连接服务器

send()/recv() 收发数据(循环)

close() 关闭

3. 核心 API 速查(Linux)

复制代码
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
cpp 复制代码
socket(int domain, int type, int protocol)
AF_INET(IPv4) / AF_INET6
SOCK_STREAM(TCP)
bind(fd, sockaddr*, len) 绑定地址
listen(fd, backlog) 监听
accept(fd, ...) 接受连接
connect(fd, ...) 发起连接
send(fd, buf, len, flags) 发送
recv(fd, buf, len, flags) 接收
close(fd) 关闭
相关推荐
AIgorithmGEEK2 分钟前
[Linux]HTTP 应用层协议全解(中篇)
linux·网络·网络协议·http
ai_xiaogui3 分钟前
PanelAI 1.1.1重磅更新:秒级安装脚本优化 + 无公网IP算力节点组网,私有化AI管理平台全面升级
人工智能·网络协议·tcp/ip·api聚合管理·开发者ai一键部署·ai底层架构解析·ai应用快速变现
91刘仁德7 分钟前
HTTPS 加密原理与 CA 数字证书:从对称加密到完整通信流程
网络·笔记·网络协议·http·https
奈落2421 分钟前
【RAG 深度修炼】专栏 · 第 9 期(收官):安全专题与生产 Checklist 总集——从能跑的 Demo 到睡得着觉的生产系统
大数据·网络·人工智能·安全·ai编程
sogw-三叶草️1 小时前
HITCON CTF 2014 — stkof · Unsafe Unlink
网络·安全·web安全·pwn·堆·二进制安全·堆漏洞
2401_868534781 小时前
简要说明PON下行和上传数据方式
运维·服务器·网络
OnlineProxy3 小时前
企业级代理服务器架构:合规性、NDA 诚信与灰色 P2P 网络风险防范
网络·架构·p2p
FPGA小徐12 小时前
PA1 基础设施(2)深度解析:NEMU 中 ITRACE、MTRACE、FTRACE、IRINGBUF、ETRACE、DIFFTEST 全解析
java·服务器·网络
Zelman15 小时前
TCP 协议
网络协议·tcp/ip