C#-JudgeSystem判题系统-开放实验总结
花了一周的时间去做这个实验中间断断续续完成不同的部分,按照实验过程来一步一步完成感觉实验流程还是相当合理的 上图就是最后的成品,其中包括 JudgeCilent客户端 完成部分: 1、可以提供五种测试状态的显示,包括网络异常,编译失败,输入错误(超时),结果错误,接受,五个状态 2、可以对无输入程序进行测试 3、可修改ip地址与端口 可提高部分: 1、由于该程序只是辅助测试服务器的使用的,所以并没有做一下界面的优化比如线程运行优化来避免等待服务器返回时界面不响应的现象 JudgeServer服务器 完成部分: 1、错误处理,并测试在判题过程的几种意外下能正常运行,以及客户端无连接后会在30秒超时时主动断开连接避免系统空连接过多造成的系统开销 2、多线程处理,在并发速度为10ms一次连接下,并且带有不同的错误情况下,系统依然能正确运行,高并发下测试判题并没有错误 可提高部分: 1、服务器与客户端的交互仍有不完善的地方,一是不方便拓展,一旦服务器修改,客户端必须进行修改,因为数据是按照一定规则分次发送的,而不是结构化一次性发送 2、暂时没有提供自定义的监听端口与gcc编译程序地址与test编译测试工作目录,这里通过相对地址也就是如图的两个文件夹存放,监听地址固定为8080而没有设置成运行时确定 CompileTest编译类库 完成部分: 1、编译与测试输入输出结果,无输入则通过\r