【计算机网络】实验2:网络基础编程实验
一、实验目的
通过本实验,学习采用Socket(套接字)设计简单的网络数据收发程序,理解应用数据包是如何通过传输层进行传送的。
二、实验内容
-
采用TCP进行数据发送的简单程序
-
采用UDP进行数据发送的简单程序
-
多线程\线程池对比
-
写一个简单的chat程序,并能互传文件,编程语言不限。
三、实验步骤
1. 代码设计流程图
1)采用TCP进行数据发送的简单程序
面向连接TCP连接的套接字工作过程是:服务器首先启动,创建套接字后等待客户的连接;客户启动以后,创建套接字,然后和服务器建立连接;连接建立后,客户机和服务器可以通过建立的套接字连接进行信息通信。
2)采用UDP进行数据发送的简单程序
无连接UDP的套接字工作过程是:服务器首先启动,创建套接字后等待客户发来信息;客户启动以后,创建套接字,然后给服务器发送消息,客户机和服务器就可以进行信息通信了。
2. 代码解析
1)TCP & UDP的区别与联系
TCP服务是进程间可靠传输的一种方式,主要特点是:面向连接、以字节流的方式传输、点对点、全双工的方式进行。示意图如下所示:
UDP服务提供的是在服务器和客户端之间的不可靠传输,主要特点是:无连接、以数据报的方式传输。所以在实际编程实现当中,使用不同的传输协议TCP和UDP,所调用函数也不同。在TCP中: