width=756>
摘 要 了两种器械以撑持网上实时谈判:一种是纯文字攀话,若是谈话者未选择用户,则为公拓荒言,否则为暗里谈话,只送往选定用户,在各用户的谈判面板上有一个文依据。学生则经过过程测试可认识自己对内容的把握情形,增添进修快乐喜爱。此刻,每次测试试卷是由教师从试题库选题组卷并放置分数。测试有时间限制。
3 系统的总体贪图 图1 系统的集体贪图结构 另一类是网上的协作应用(如实时谈判等),在这种体式格局中,任何一方都概略成为新闻的发送方,而另一方则成为新闻的领受方。发送方的步履由用户界面的各类事宜驱动激发,其时刻性是有时的,领受方必需时辰处于领受监听状况。因为通信双方处于对等的位置,是以双方都要处于领受守候状况。
从系统要完成的功能看,有两类工作体式格局:一类是客户/做事器体式格局(如学生做题),客户方发出接见申请,做事方给出响应。客户是步履的倡导者,何时发出申请由客户方决意,客户方发出申请后立刻可从Socket通道去取做事方的效果。做事器方必需始终处于监听守候状况。>
因为Java的安好性限制,两客户浏览器间不能直接竖立Socket毗邻,要实现两浏览器间的通信必需经过过程Web做事器上的Java应用法式进行转接。综上所述,为了实现系统的功能,笔者将系统的总体贪图为如图1的形式。
有关声名:
① 学生和教师离别以客户/做事器的体式格局与Web做事器上Java应用法式竖立通信毗邻。做事器方的毗邻监听线程负责监听来自客户的Socket毗邻申请。做事方要为每个毗邻客户竖立一个新闻处置责罚线程,该线程负责领受来自响应客户的新闻,对新闻进行剖析处置责罚。将新闻转发到其他客户。
② 学生和教师方都有一个新闻领受线程负责领受来自做事方的新闻。该线程经过过程挪用用户界面临象中的方式将新闻要求反映在用户界面上。为此,在贪图新闻领受线程类时,在其结构方式中将用户界面临象作为参数传给该类的器械,这是Java中实现器械间互访的基了DAO(Data Access Object)和RDO(Remote Data Object)两种方式。本软件中接纳RDO器械实现对ODBC数据源数据的接见。因为对数据库的毗邻是竖立在ODBC的根柢根底上,所以可以撑持对各类范例的数据库接见。笔者接纳的是Access数据库。
凡是,Java Applet是在一个“沙箱”中运行,可接见的成本有限,行使COM做事意味着存取沙箱之外的成本,为此,IE在安好性上要作严厉的搜检,它将Java类分为可托类和弗成托类,弗成托类不能行使COM做事,全数不是从类路径装入的类都是弗成托的,包含从网上下载的类,除非它们被封装在具有一个数字签名的.CAB文件中。为了避免安好性带来的麻烦和裁减客户端的ODBC培植,笔者在接见试题库的部门中接纳了由做事器方Java应用法式接见数据库的设施,无安好性限制。浏览器方Applet法式经过过程与做事器方应用法式通信来传递接见请乞降效果。
整个系统的数据库表格贪图如下:
. 填空题表:含试题标识号、题目问题号、难度、试题内容、谜底共五个字段。
. 剖断题表:结构同上。
. 填空题试卷表:试题标识号、分数共两字段。
. 剖断题试卷表:结构同上。
. 解说内容索引表:含章号、节号、题目问题号、题目问落款、URL地址共五个字段。
. 章题目表:含章号、题目共两字段。
. 节题目表:含章号、节号、题目共三个字段。
.
从数据库贪图可看出,本系统将解说内容与试题库中试题经过过程题目问题号毗邻起来。
4.2 数据通信处置责罚
从总体贪图可知,系统有两类应用,它们有分歧的工作特点。基于客户/做事器的应用是客户方发出接见哀告后,再直接在事宜代码中获取做事方返回的效果;而对于协作应用则必需在全数客户方离别设立新闻监听线程去获取和处置责罚数据。从实现遵守上考虑,这两类应用不宜共用一条Socket通道。笔者接纳了双Socket通路的设施。在做事方设立两个Socket监听口,离别是8883和8884,全数客户端要离别针对两个监听口竖立Socket毗邻。为避免建立过多线程,并将两类应用通道分隔,系统在通道的行使上作了一些出格处置责罚,具体情形声名如下:
. 学生客户:行使8883口发送新闻,行使8883口领受数据库接见效果,行使8884口领受全数其余新闻。
. 做事器方:系统为每个客户建立一个新闻领受线程,它行使8883口领受新闻,并将新闻经过过程8884口的响应输出流转发给其他客户方。考虑到只有教师能发节制新闻,在做事器方,针对8884口只竖立一个教师节制监听线程,它专门行使8884口领受教师节制新闻,并经过过程8884口发送给全数学生。与学生对应的8884口的输入流未用,是以做事方也不必建立响应的监听线程。
. 教师方:行使8884口发送解说节制信息,行使8883口发送讲话、白板、查分等新闻。领受新闻线程行使8884口领受新闻。
做事器方是经过过程8884口的输出流将新闻转发到各个客户方,这就要求与每个用