自己写:把一次旅程走一遍
一次完整的通信要依次经过六步。 补全 journey(),把每一步依次记下来。输出一共走了几步和最后一步是什么,中间用 / 隔开。
自己写:把名字换成地址
一份小小的对照表,记着名字和地址的对应关系。查不到的时候要有个明确的说法,不能悄悄返回空。 补全 resolve():查得到就返回地址,查不到返回 未知。输出两次查询的结果,中间用 / 隔开。
⚠️ 自己写:这次凑巧对了,换一批就露馅
收方有两种拼法:一种按序号排好再拼,一种按到达顺序直接拼。 补全 by_seq()(按序号排),然后用两批数据各跑一遍:一批正好按顺序到,一批乱着到。输出四个结果,用 / 隔开。 ⚠️ 前两个结果会一模一样,那不是写错了——正是这道题要给你
回环和远程最根本的差别
127.0.0.1 和 10.0.0.9,最根本的差别是【0】。
回环还要切包贴头吗
本机两个程序通过 127.0.0.1 通信。这份数据【0】。
本机通信为什么还要绕这一圈
同一台机器上的两个程序,明明可以直接读同一块内存。用网络绕这一圈,是为了【0】。
回环和远程,哪些一样哪些不一样
同一份 1100 字节的资料,一次发给 127.0.0.1,一次发给 10.0.0.9,都按每包 400 字节切。 这段程序依次输出回环切几个包、远程切几个包、回环走几跳、远程走几跳。它输出什么? def packets(total, ms
自己写:认出哪些是回环地址
一批地址混在一起,要把回环的挑出来。 补全 is_loopback(),输出回环有几个和不是回环的有几个,中间用 / 隔开。
自己写:两条路各贴几个头、各走几跳
同一份资料发给两个不同的地址。头的数量应该一样,跳数应该不一样。 补全 trip() 里的跳数:回环 0 跳,远程 3 跳。输出两次调用的结果,中间用 / 隔开。
自己写:绑在哪个地址上,决定谁连得上
两个服务,一个绑在 127.0.0.1 上,一个绑在 0.0.0.0 上。 补全 reachable_from_outside(),输出这两个服务外面能不能连上,用 / 隔开(能写「能」,不能写「不能」)。