计算机网络就是把各个计算机连接到一起,让网络中的计算机可以互相通信。网络编程就是如何在程序中实现两台计算机的通信。本次将讲解网络的基础知识,包括比较常见的TCP协议和UDP协议,以及如何使用TCP编程和UDP编程。
1. 网络基础
当今的时代是一个网络的时代,网络无处不在。而我们前面学习编写的程序都是单机的,即不能和其他电脑上的程序进行通信。为了实现不同电脑之间的通信,就需要使用网络编程。下面,我们来了解一下网络相关的基础知识。
1.1 为什么要使用通信协议
计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM、Apple 和Microsoft都有各自的网络协议,互不兼容,这就好比一群人有的说英语,有的说中文,有的说德语,说同一种语言的人可以交流,不同的语言之间就不行了,如图17.1所示。
为了把全世界的所有不同类型的计算机都连接起来,就必须规定一套全球通用的协议,为了实现互联网这个目标,互联网协议簇(Internet Proto