一个TFTP server和client端程序
###要求:
1.在Linux系统下开发
2.采用基本的系统调用、C库实现,不得采用类似libcurl之类的高级封装库直接调用tftp功能完成
3.需按照TFTP协议要求考虑超时、重传、bulk校验和等问题
4.需要考虑并发,比如,如果多个client同时GET或者PUT时,server应如何处理,采用多进程还是多线程方式实现可自行决定,但需说明选择理由
5.服务器地址可以使用域名,也可以使用ip,也就是说需要能够解析域名形式的服务器地址,也能处理ip形式的地址
6.需考虑各种可能出现的异常情况(如:端口被占用、服务器不可达、服务器地址解析错误等)
7.需考虑日志输出,如:是否提供开启日志输出的开关,输出到哪里,调用什么日志函数
8.程序需要自说明(即,tftp –h能够显示出使用方法)
9.需要编写Makefile,确保能够通过make命令build出可执行程序
10.不需要提供GUI接口,提供CLI接口即可
11.TFTP协议的详细情况请参考RFC规范文档,以及自行google
12.须从头独立编写,不得照搬网上的任何TFTP server/client开源实现