1.基于数据报套接字的服务器回射程序设计
编写一服务器程序和客户程序,如图1,要求客户每输入一行数据,服务器接收后加上echo:回送给客户程序,当客户输入“q”后退出。
2. 无连接应用程序丢包率测试
UDP的不可靠性使得基于该协议的应用程序在数据通信过程中不可避免地会遇到丢包现象。一方面,网络拥塞导致路由器转发数据报文时丢失;另一方面,慢速设备来不及处理快速到达的数据报文,使得接收缓存溢出而丢包,等等。在应用程序开发前,设计者需要对当前的网络状况和主机性能进行测试,以确定选择哪种协议承载运输、使用循环方式还是并发方式处理网络通信等等,其中丢包率测试是常用的项目,它可以辅助设计者对程序的可靠性进行直观的探测和诊断。
使用数据报套接字编程,在网络功能框架的基础上对回射服务器和客户端进行修改,实现丢包率测试工具。其中,服务器能够接收客户端发来的数据,统计数据报个数;客户端能够根据用户的指示向服务器批量发送数据。丢包率的计算公式如下:
丢包率=1-(服务器收到的报文个数/客户端发送的报文个数)×100%
要求实现接收缓存大小的修改功能,控制接收数据包的速度,能够给服务器在接收缓存取不同值时丢包率的变化。画出数据表格,并给出分析。
1