网络编程两个问题:
- 准确定位机器
- 高效传输数据
TCPIP介绍
TCP面向连接的保证可靠的传输协议,通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建立连接。HTTP,FTP,Telnet都需要靠这种可靠的通信通道。类似于打电话,必须有线路连接。没有传输大小限制,但是需消耗建立socket连接的时间。
UDP是一种面向无连接不可靠的传输协议。每个数据包都是独立的消息,包括源地址或目的地址,它在网络上以任何可能的路径到达目的地,其到达的时间和内容正确性不能保证。类似于送信,无法保证信送到的时间等。UDP传输数据时,每个被传输的数据包必须在64以内。
UDP存在的意义:
可靠传输需要付出代价,UDP连接效率较高。
有的数据传输应用对数据的正确性并不高,如视频会议等。
端口
IP地址用来指明网络上的计算机,端口号用来指明应用程序。如HTTP监听80端口。
16位数,范围在0--2^16(65535)
封装
数据从一台机器传到另一台机器需要打包,打包的过程叫封装,封装就是在数据前面加上特定的协议头部。