网络编程的一些基础

网络编程两个问题:

  1. 准确定位机器
  2. 高效传输数据

TCPIP介绍

 

TCP面向连接的保证可靠的传输协议,通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建立连接。HTTP,FTP,Telnet都需要靠这种可靠的通信通道。类似于打电话,必须有线路连接。没有传输大小限制,但是需消耗建立socket连接的时间。

 

UDP是一种面向无连接不可靠的传输协议。每个数据包都是独立的消息,包括源地址或目的地址,它在网络上以任何可能的路径到达目的地,其到达的时间和内容正确性不能保证。类似于送信,无法保证信送到的时间等。UDP传输数据时,每个被传输的数据包必须在64以内。

 

UDP存在的意义:

可靠传输需要付出代价,UDP连接效率较高。

有的数据传输应用对数据的正确性并不高,如视频会议等。

 

端口

IP地址用来指明网络上的计算机,端口号用来指明应用程序。如HTTP监听80端口。

16位数,范围在0--2^16(65535)

 

封装

 数据从一台机器传到另一台机器需要打包,打包的过程叫封装,封装就是在数据前面加上特定的协议头部。

你可能感兴趣的:(编程,socket,网络应用,网络协议)