网络编程其实是在互联网下的两个进程之间的通信。其中有几个基本概念需要了解
一、IP协议
-
通信时,需要知道对方的标识,而每一台计算机都有自己的标识,就是IP,如果一台计算机接入多个网络,就会有多个IP。
-
IP协议就是,把一台计算机要发的数据分割成几个IP包发出,但未必能到达也未必能顺序到达。
-
IPv4就是IP地址有32位整数,而IPv6则有128位整数。
二、TCP协议
- TCP协议建立在IP协议上,他保证了数据包能顺序到达,TCP协议通过握手连接(也叫三次握手),当传输中有数据包丢了的话,会自动重发,所以是一种可靠连接。
- 每一个TCP报文都包含要传输的数据,源IP地址,目标IP地址,源端口以及目标端口。
- 由于每台计算机不止一个进程发起连接,一个进程也可能发起多个连接,因此便有了端口,端口用来分辨该TCP报文是属于哪个进程的。一个进程可以申请多个端口,而一个端口只能属于一个进程。
- 建立TCP连接时,主动发起连接的称为客户端,而响应连接的叫服务器,双方以流的形式来发送和接受数据。