网络程序设计基础
- c/s模式
- 网络协议
- IP协议
- TCP与UDP协议
- 端口与套接字
c/s模式
服务器是指提供信息的计算机或程序,客户机是指请求信息的计算机或程序,而网络用于连接服务器于客户机,实现两者相互通信。
网络协议
网络协议规定了计算机之间连接的物理、机械(网线于网卡的连接规定)、电气(有效的电平范围)等特征以及计算机之间的相互寻址规则、数据发送冲突的解决、长的数据如何分段传送于接收等。
简单介绍三种协议:
IP协议
IP是Internet Protocol 的简称,它是一种网络协议。Internet网络采用的协议是TCP/IP协议,Internet依靠TCP/IP协议,在全球范围内实现不同硬件结构、不同操作系统、不同网络系统的互联。
TCP与UDP协议
在TCP/IP网络体系结构中,**TCP(传输控制协议,Transport Control Protocol、UDP(用户数据报协议,User Data Protocol)**是传输层最重要的两种协议,为上层用户提供级别的通信可靠性。
传输控制协议(TCP):TCP(传输控制协议)定义了两台计算机之间进行可靠的传输而交换的数据和确认信息的格式,以及计算机为了确保数据的正确到达而采取的措施。协议规定了TCP软件怎样识别给定计算机上的多个目的进程如何对分组重复这类差错进行恢复。协议还规定了两台计算机如何初始化一个TCP数据流传输以及如何结束这一传输。TCP最大的特点就是提供的是面向连接、可靠的字节流服务。
用户数据报协议(UDP):UDP(用户数据报协议)是一个简单的面向数据报的传输层协议。提供的是非面向连接的、不可靠的数据流传输。UDP不提供可靠性,也不提供报文到达确认、排序以及流量控制等功能。它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。因此报文可能会丢失、重复以及乱序等。但由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。
端口与套接字
一般而言,一台计算机只有单一的练到网络的物理连接(Pyhsical Connection),所有的数据都通过此连接对内、外送达特定的计算机,这就是端口。
网络程序中的套接字(Socket)用于将应用程序与端口连接起来。套接字是一个假象的连接装置,就像插插头的设备“插座”用于连接电器与电线一样。