补全:拆一行命令

补全 decode:把一行拆成 (命令, 参数列表)。 贯穿的应用层协议(一行一命令、按换行切):req(*parts) 用空格连、末尾加换行;decode(line) 拆成 (命令, 参数表);handle(store, line):PU

开始练习 →

补全:GET 分支

补全 handle 的 GET 分支:有就回值、没有回 NONE(都带换行)。 贯穿的应用层协议(一行一命令、按换行切):req(*parts) 用空格连、末尾加换行;decode(line) 拆成 (命令, 参数表);handle(sto

开始练习 →

补全:DEL 分支

补全 handle 的 DEL 分支:删掉了回 OK、本来没有回 NONE。 贯穿的应用层协议(一行一命令、按换行切):req(*parts) 用空格连、末尾加换行;decode(line) 拆成 (命令, 参数表);handle(stor

开始练习 →

客户端第一步

写客户端,第一步是【0】。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();lis = listen(net, 端口) 开监听;cli =

开始练习 →

发完请求后

客户端把请求发出去之后,接着要【0】。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();lis = listen(net, 端口) 开监听

开始练习 →

怎么知道一条回复完了

客户端判断「一条回复收全了」,靠的是【0】。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();lis = listen(net, 端口)

开始练习 →

存一个再取回来

用 roundtrip 先 PUT k v、再 GET k,第二次交回什么? 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();lis =

开始练习 →

取不存在的键

用 roundtrip GET z(没存过),交回什么? 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();lis = listen(net

开始练习 →

补全:发一条请求

补全 send_req:把若干部分用空格连、末尾加换行、发出去。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();lis = listen

开始练习 →

补全:读一行回复

补全 read_reply:收一行、去掉末尾换行、解码成字符串。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();lis = listen

开始练习 →