超超哥AI云计算超哥讲AI 出品

社群入口

AI 超哥 Codex 副业群

扫码加入群聊,一起交流 AI、Codex 与副业实践。

原图注明二维码于10月20日前有效;若提示过期或无法入群,请等待更新二维码。

AI 超哥 Codex 副业群入群二维码在新窗口打开原图

Socket 与 TCP与UDP 基础

Python 文件、网络与系统编程#Python全栈#第四阶段#Python 文件、网络与系统编程#Socket 与 TCP与UDP 基础约 598 字 · 2 分钟阅读
追问显示
点击任意追问卡片可收起 / 展开

Socket、IP 地址、端口与协议是什么关系?

追问 一个程序监听哪个地址,如何影响本机、内网与外网访问?

TCP 与 UDP 的传输特性有什么区别?

追问 可靠字节流、数据报边界与业务层重试如何影响程序设计?

TCP 服务端的 bind、listen 与 accept 分别做什么?

追问 监听 Socket 与 accept 返回的连接 Socket 有什么区别?

TCP 客户端通常如何连接、发送、接收与关闭?

追问 连接失败、读写超时和对端关闭分别应如何处理?

一次 send() 是否保证发送全部数据?

追问 sendall() 解决什么问题?发送成功是否证明对端完成业务处理?

为什么一次 recv() 不一定对应一条完整业务消息?

追问 长度前缀、分隔符与固定长度分别怎样设计消息边界?

Socket 接收到 b'' 通常表示什么?

追问 它与超时、暂时无数据以及空业务消息有什么区别?

跨多次 recv 解析文本时,为什么要注意多字节字符?

追问 在字节层完成消息拼装与增量解码分别适合什么情况?

绑定 127.0.0.1 与 0.0.0.0 有什么差异?

追问 为什么 0.0.0.0 通常不是远端客户端应该直接使用的目标地址?还需检查哪些访问策略?

测试服务报“地址已被使用”,你会怎样处理?

追问 现有监听进程、绑定地址、端口与套接字选项如何核查?为什么不能看到报错就杀掉未知进程?

TCP 数据传输与消息边界可参考 Python 官方 Socket 编程指南,通过分段发送的测试验证。