写一个带超时的客户端
场景:本机某端口上有一个 TCP 服务,收到一行就回它的大写。
任务:写 ~/问.py,用法 python3 ~/问.py 端口 文字:连上、把文字加换行发过去、打印回信一行;连接被拒绝就打印「拒绝」;连上了但 3 秒内没回信就打印「超时」;三种情况都正常退出(退出码 0)。写好运行 ~/check(它会用一个活端口、一个没人听的端口、一个只收不回的端口各试一次)。
可操作范围:只在分给你的这台实验机上操作。可以改家目录里的任何东西,不要动系统目录。实验机只有回环接口,没有 nc / socat;连 TCP 用几行 Python(socket.socket()、connect、sendall、recv、settimeout),看 TCP 连接用 ss -tanp(-l 只看监听、-o 看计时器、-i 看内部信息);后台起服务用 setsid … &。
提交:只提交那 8 位标记本身(形如 7F3A91C2),不要提交端口号、状态名或字节数,也不要提交说明文字。大小写不限。
⚠️ 提交预算:这次实验最多可以提交错 3 次。用完需要重新开始实验——环境和答案都会变。
完成条件:提交内容与本用户、本次实验环境生成的预期结果一致。
全部评论