第 20 篇:Socket 编程:如何用代码说话 网络基础系列第 20 篇。上一篇我们讲了 DNS:浏览器先把域名解析成 IP,才知道包该往哪里发。今天我们完成阶段 1 的最后一篇,把前面讲过的 IP、端口、TCP、UDP、HTTP、DNS 连接到代码里:Socket 编程。开场:协议学了这么多,代码到底怎么用?前面 19 篇,我们一直在讲网络世界里的各种角色:IP 负责寻址MAC 负责局域网交付ARP 负责找 MAC路由表负责选路ICMP 负责报信TCP 负责可靠连接UDP 负责简单发送端口负责找到进程HTTP 负责应用层语义DNS 负责把域名翻译成 IP听起来很完整。但工程师最后总会问一句:这些东西在代码里到底长什么样?你写服务端时可能会看到:socket()bind()listen