文章目录
1. TCP/IP 协议族
理解 TCP/IP,是程序员从初阶到高阶的必由之路。然而,现在的程序员几乎没有多少实战机会接触到网络编程比较底层的部分。究其原因,一方面是因为流行的网络引擎框架提供了很好的封装,另一个原因是应用层面上多以 http/ftp 等协议为主,程序员不需要从 Socket 做起了。
TCP/IP不是一个协议,而是一个协议族的统称。里面包括了IP协议,IMCP协议,TCP协议,以及我们更加熟悉的http、ftp、pop3协议等等。通常把这些协议按照参与通讯的地位分成了链路层、网络层、传输层和应用层。我们熟知的 HTTP/FTP 等协议就属于应用层协议,传输层协议有 TCP 和 UDP 两个。Socket 通讯就是遵循传输层协议实现信息交互。
2. 请老通讯员 Telnet 客户端协助调试
常言道,一个巴掌拍不响,讨论通讯,至少得有两方面参与。如果我们用代码同时写通讯的两个参与方,一旦不能正常通讯,就不容易判断究竟是发送方没发出还是接收方收不到。为了避免这种尴尬,我们邀请一位隐退多年的老通讯员——曾经声名显赫的 Telnet,作为参与通讯的一方,帮助我们调试代码。
Telnet 协议是 TCP/IP 协议族中的一员,是 Internet 远程登录服务的标准协议和主要方式。在终端使用者的电脑上使用 Telnet 程序,用它连接到服务器。终端使用者可以在 Telnet 程序中输入命令,这些命令会在服务器上运行