5.1.4 考场广播的设计与实现
在考场上,监考老师需要向考生说明各种注意事项和考卷中出现的问题,在考试将要结束的时候需要提醒考生填写答题纸。
在该考试系统中添加了考试广播功能,监考老师可以在线向所有考生发送广播信息。
实现方法:
{
for(int i=0;i<this.client_list.Count;i++)//遍历客户列表 {
string[] tokens =
((Client)client_list[i]).Host.ToString().Split(new Char[]{':'});
IPEndPoint ip=new
IPEndPoint(IPAddress.Parse(tokens[0]),1035);
// 向客户发送广播信息
}
}
5.2 Client 端的详细设计与实现
Client 端是考生直接面对的考试界面,考生通过Client 端登陆服务器,浏览考题,在线做题,并且保证考生的答案可以准确无误的传输到Server 端。
因此,在整个Client 端的设计中要保证数据传输的可靠性和用户界面的直观性,友好性。
以下主要介绍了实现客户端的主要技术。
5.2.1 服务器IP 和端口号的配制
在当前的计算机网络中TCP/IP 协议得到广泛的使用,各高校的局域网一般都支持TCP/IP 协议,在以TCP/IP 协议为基础的网络中IP 地址是网络中的唯一标识。
端口号又是专门对应于某一应用的标识。
因此,在考生登陆考试系统前必须保证IP 和端口号的正确性。
一般来讲服务器的IP 和端口号是不变的,如果在每次考试时考生都要重新写入那会给考生带来麻烦,而且不是每一个考生都懂得这些考前的准备工作,因此,在该系统中
把这些配制信息保存在一个文件中,当考生使用客户端登陆考试系统时自动读取配制文件中的信息。
简化了考试不必要的过程。
以下是该功能的实现:
private void Form1_Load(object sender, System.EventArgs e)
{
string ";//路径设置
if(!File.Exists(path))
{
using (StreamWriter sw=File.CreateText(path))//创建文件
}
else
{
using (StreamReader sr=File.OpenText(path))
{
{
//读取IP
}
{
//读取端口号
}
}//end using
} //end else
}
5.2.2 用户考试界面的设计与实现
考试界面的设计是该系统的一个难点,在设计中必须考虑直观性和友好性这两个要素。
该系统通过模拟传统的考试方式来实现独特的用户界面。
考生在登陆成功后进入考试状态,在考试状态下考生可以进行浏览考题,在线答题,随时保存答案,在线询问,提交考卷等功能。
图26
功能图
:。