本周主要围绕网络协议相关知识展开学习,收获颇丰。
在理论学习方面,深入了解了因特网的组成,它由边缘部分(客户服务器方式和对等方式)和核心部分(电路交换、报文交换、分组交换)构成。明确了通信协议的重要性,如同交通规则,Internet协议使全球不同计算机能连接。TCP/IP协议是重点,IP协议是核心,IP地址是互联网计算机的唯一标识,目前有IPv4和IPv6两种表示方式。还学习了三次握手的概念,它为可靠数据传输做准备。UDP协议面向无连接,虽无法保证数据一定到达,但使用方便,了解了端口号用于区分计算机中的应用程序。
实践操作上,学习了`socket`模块,它是网络编程的基础工具,支持多种协议。掌握了其常用函数,如`bind`、`listen`、`accept`等。通过编写TCP服务器端和客户端代码,加深了对网络通信流程的理解。服务器端要创建套接字、绑定地址和端口、监听、接受连接、收发数据、关闭套接字;客户端则需创建套接字、连接服务器、收发数据、关闭套接字。
不足之处在于,对于TCP多次连接的实现还不够熟悉,后续会加强这部分的学习和实践,通过更多的代码练习巩固本周所学知识,提升网络编程能力。