今天学习了CDC中的绘图操作、网络编程、TCP协议原理、UDP协议、套接字、C/S客户机服务器编程模型。
利用所学CDC制作一个简易始终与电脑时间同步、网络编程、TCP协议原理、UDP协议、套接字、C/S客户机服务器编程模型制作了一个网络通信器,实现发送、接收,显示IP地址和服务器端口等功能。
网络编程是指用户使用MFC类库(微软基础类库)在VC编译器中编写程序,以实现网络应用,实现的网络软件可以在网络中不同的计算机之间互传文本、文件、图像等信息。在VC编译器中,使用Windows Socket进行网络程序开发是网络编程中非常重要的一部分。
TCP/IP协议实际上是一个协议簇,其包括了很多协议。例如,FTP(文本传输协议)、SMTP(邮件传输协议)等应用层协议。TCP/IP协议的网络模型只有四层,包括数据链路层、网络层、数据传输层和应用层。
TCP每发送一个报文段,就启动一个定时器,如果在定时器超时之后还没有收到ACK确认,就重传该报文。 如图所示,数据包由A的缓冲区发往B,B在收到数据包以后,回发一个ACK确认包给A,之后A将该数据包从缓冲区释放。因此,该数据包会一直缓存在A的缓冲区,直到一个ACK确认为止。
UDP是一种不可靠的、无连接的数据报服务。源主机在传送数据前不需要和目标主机建立连接。数据被冠以源、目标端口号等UDP报头字段后直接发往目的主机。这时,每个数据段的可靠性依靠上层协议来保证。在传送数据较少、较小的情况下,UDP比TCP更加高效。
在每个TCP、UDP数据段中都包含源端口和目标端口字段。有时,我们把一个IP地址和一个端口号合称为一个套接字(Socket),而一个套接字对(Socket pair)可以唯一地确定互连网络中每个TCP连接的双方(客户IP地址、客户端口号、服务器IP地址、服务器端口号)。
C/S编程模型是基于可靠连接的通信模型。在通信的双方必须使用各自的IP地址以及端口进行通信。否则,通信过程将无法实现。通常情况下,用户使用C/S模型进行通信时,其通信的任一一方称为客户端,而另一方称为服务器端。
除代码需要理解,其它操作已解决。