3.5.1 服务器模块
电子白板服务器端是采用Java开发的应用程序,在服务器上运行。它负责捕获各种媒体信息,收集整理后向客户端发送。服务器模块带有一个数据库管理程序,来管理用户的注册、在系统中的提问及讨论次数(用于对学生进行过程性评价)、公式编辑器、教师及学生上传的对应各自权限的课题资料、阶段报告和结题报告等。服务器在启动后就开始监听指定的端口,看是否有到该端口的连接,如果有连接则对接收到的数据包进行处理,并同时产生一个线程继续监听端口,对接收到的数据包的内容进行解析,检查其是否为建立连接请求,如果是,则返回一个到用户的连接,得到该用户连接的处理线程,并且将其加入到用户连接线程列表中去,每个用户建立连接后在服务器上都有一个单独的线程来处理与它的通信,一旦接收到了数据,就检索用户线程列表,查找到目的用户连接,然后将数据包用该连接转发。
3.5.2 客户端模块
客户端在设计的时候,可以把浏览器集成在一起,做成一个EXE文件,即客户端是一个EXE文件,包含有一个浏览器在里面。因为浏览器不能访问本地文件,所以当需要访问本地文件的时候,就发送一个请求给EXE文件,EXE文件访问本地文件,最后把访问的结果返回给浏览器。EXE和IIS服务器侦听某个端口,浏览器请求对应端口就可以建立通信。
在这里,EXE其实也是一个S,浏览器是一个B,它们之间形成了本机的B/S结构。浏览器又可以去访问广域网的S,它们之间形成了一个广域网的B/S结构。EXE也可以访问广域网的S,它们之间形成了一个广域网的C/S结构。几个同学之间也可以进行通话,而无须经过服务器,此时EXE之间互为C/S结构。
3.5.3 通信模块
客户端和服务器之间的连接是建立在TCP握手协议基础上的。在TCP/IP协议中,TCP协议提供可靠的连接服务,它是面向对象的,采用三次握手建立一个连接。TCP协议的三次握手(Three-Way Handshake)过程如下:
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手后,客户端与服务器开始工作,传送数据。接下来,服务器开始监听客户端发过来的请求连接,如果这个时候有用户A请求连接,则同意A的连接请求,并且在白板服务器上相应地建立A端与服务器的连接,然后把刚才请求的A的用户信息加入到它所请求的聊天室B,然后向A发送B聊天室的相关信息,比如该聊天室的成员信息,这个时候用户就可以看到其他用户的讨论情况。最后一步则是启动异步监听来响应A用户的相关请求。这就是客户端和服务器的通信连接的过程。
这种电子白板模型结合了B/S和C/S的优点,便于数据的一致性管理,提高了平台的交互性,而且能够在较大范围内应用,为研究性学习互动教学提供了一个良好的环境。但这个模型还存在很多缺点,比如:服务器软件的架设问题和成本问题,视频音频的传输问题;客户端将教务处客户端和学生浏览器端做成一个EXE文件需要考虑对浏览器的兼容;编程方面,要考虑本机的编程、服务器端和客户端的编程,这也是件较庞大的工作。这些都是将需要研究与解决的问题。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。