交付:一个回声服务
场景:要交付一个 TCP 回声服务和它的启动脚本,端口在说明里。
任务:写 ~/服务/答.py(SO_REUSEADDR + bind 端口 + listen + 循环 accept;每条连接把收到的原样回去,直到对方关闭再 close 这条)和 ~/服务/启动.sh(把它起在后台、脚本自己立刻返回)。写好运行 ~/check(它会连两次、每次发几段看回得对不对,并检查没有连接泄漏)。
可操作范围:只在分给你的这台实验机上操作。可以改家目录里的任何东西,不要动系统目录。实验机只有回环接口,没有 nc / socat;写 socket 用几行 Python(socket.socket()、bind、listen、accept、connect、sendall、recv),看监听和连接用 ss -tanp;后台起服务用 setsid … &。
提交:只提交那 8 位标记本身(形如 7F3A91C2),不要提交端口号、字节数或文字,也不要提交说明文字。大小写不限。
⚠️ 提交预算:这次实验最多可以提交错 3 次。用完需要重新开始实验——环境和答案都会变。
完成条件:提交内容与本用户、本次实验环境生成的预期结果一致。
全部评论