结果如下
13)同理,在udp包中,再创建一个UdpSend类,将UdpSend.java中的内容复制其中。在tcp包中,创建TCPReceive和TCPSend类,并将相应代码拷贝至其中
14)完成后结果如下(双击创建好的类,可以在程序编辑窗口中以标签页的形式打开)
15)如想运行文件,则在代码窗口中鼠标右键,选择 Run as -> Java Application。点击后,程序即可运行。
16)以上程序代码中,udp包中所包含的程序,是基于UDP协议的文件传输程序。在tcp包中,是基于TCP协议的文件传输程序。两程序的功能皆为:将D盘下的a.txt文件通过网络传输后保存至D盘下的b.txt文件中。以上两程序都是基于C/S模型。
四、 实验报告
1)简要复述实验过程;撰写实验心得及收获。
2)请在实验报告中根据实验过程及实验结果回答以下问题并提供必要程序运行截图:
1、观察程序代码,根据课程所学关于C/S模型知识,判断4个程序中,哪两个
是客户机,哪两个是服务机?
2、根据判断出的客户机和服务机,试解释分别在UDP和TCP程序运行时,应先执行哪个程序?后执行哪个程序?原因是什么? 3、在D盘创建名称为b的文本文档(b.txt),请在其中填入较多内容。然后分别执行TCP和UDP程序进行文件传输,分别观察在D盘生成的a.txt文件体积,对比发送的文件体积和接受的文件体积是否有不同?采用什么协议的情况下文件体积发生了变化?原因是什么?
4、观察TCP协议下和UDP协议下数据传送时间,哪一种协议传输速度较快?哪一种较慢?原因是什么?
5、观察程序中默认IP地址,试判断目前程序所发送的报文是否真正经过了实验室的网络?原因是什么?
6、修改程序代码中的IP地址,实现不同机器间的数据传输,并再次回答问题3与4。
7、观察程序源代码,试修改程序中的端口,如果将服务端和客户端的端口号修改为不一致,那么文件还能正确传输么?原因是什么? 8、试修改UdpSend程序中sendDataByte = new byte[100];语句中数组的大小(该大小本质为UDP协议中数据传输的数据报大小)。观察在不同大小的情况下,UDP协议的性能表现(传输时间、丢包情况)