recv 空字节代表
在收数据的循环里,recv 交回空字节代表【0】。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net()
补全:一次完整来回
补全 roundtrip 里发请求那一句(服务端 handle、客户端读回复已给好)。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket()
补全:读一行回复
补全 read_reply:收一行、去掉末尾换行、解码成字符串。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net
补全:发一条请求
补全 send_req:把若干部分用空格连、末尾加换行、发出去。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net
取不存在的键
用 roundtrip GET z(没存过),交回什么? 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Ne
存一个再取回来
用 roundtrip 先 PUT k v、再 GET k,第二次交回什么? 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的
怎么知道一条回复完了
客户端判断「一条回复收全了」,靠的是【0】。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();li
发完请求后
客户端把请求发出去之后,接着要【0】。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();lis =
客户端第一步
写客户端,第一步是【0】。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();lis = liste
补全:DEL 分支
补全 handle 的 DEL 分支:删掉了回 OK、本来没有回 NONE。 贯穿的应用层协议(一行一命令、按换行切):req(*parts) 用空格连、末尾加换行;decode(line) 拆成 (