补全:一次完整来回

补全 roundtrip 里发请求那一句(服务端 handle、客户端读回复已给好)。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();l

开始练习 →

recv 空字节代表

在收数据的循环里,recv 交回空字节代表【0】。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();lis = listen(net, 端

开始练习 →

往已关连接发数据

往一个对面已经关掉的连接 sendall,通常会【0】。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();lis = listen(net

开始练习 →

攒到一行

连接里陆续来了 one\ntwo,recv_line 交回什么?(bytes) 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();lis =

开始练习 →

对面关了吗

客户端关掉后,服务端 closed(srv) 交回什么? 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();lis = listen(net

开始练习 →

补全:攒到一行

补全 recv_line:一直收到出现换行为止,交回换行前那一行。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();lis = liste

开始练习 →

补全:判对面关没

补全 closed:对面关了、且自己收缓冲空,才算关。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();lis = listen(net,

开始练习 →

补全:关了就别发

补全 safe_send:对面已关就不发、交回 False,否则发出去交回 True。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net();l

开始练习 →

补全:数收到几行

补全 count_lines:把连接里的字节全收下来(到对面关),数其中有几个换行=几整行。 贯穿全条的内存版 TCP(判题机不联网;接口和真 socket 一样,真机上换成 socket.socket() 就是真的):net = Net(

开始练习 →

HTTP 请求行长什么样

一条 HTTP 请求的第一行(请求行),格式是【0】。 socket 上的极简 HTTP:请求行形如 GET /path HTTP/1.1。parse_req(raw) 交回 (方法, 路径);build_resp(status, body

开始练习 →