局域网组网及小型网络教室的设计与实现

2009-11-17 09:04孟桂英陈元贤
中国校外教育(下旬) 2009年14期
关键词:线程服务器客户

孟桂英 陈元贤

【摘 要】 本文论述了采用网络技术和远程控制技术设计和实现一个小型网络教室的过程。本系统局域网采用星型网络拓扑结构,网络教室采用客户/服务器模式,实现网络教室的教师机和学生机的实时通信。

【关键词】客户/服务器 线程 网络教室 Windows Socket

一、绪论

随着多媒体数据传输技术的日益发展和完善,多媒体教学已可将各种多媒体信息引入教学,以完善和改进教学模式、内容、手段、方法,并促进整个教育思想、理论的根本变革。在学校的计算机机房或实验室中,要求教师机可以通过屏幕广播将课件内容广播到学生机,使学生同步接收教师的讲课内容,教师机可以给学生机发送简短的文字消息,学生机可给教师机发送举手消息。对于传统的辅助教学模式来说,这是一种教学上的突破。

二、系统设计

1.需求分析

软件需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其它系统元素接口细节,定义软件的其它有效性需求。

根据分析,本系统主要包括局域网组建和网络教室的开发。因此,要设计局域网络的拓扑结构,进行组网。局域网组建成功后,在此网络上进行网络教室的开发。网络教室主要主要实现以下功能:

(1)屏幕广播:用于将教师机的电脑屏幕画面实时传播给全部学生机。实现教师机和学生机电脑屏幕的同步,以便学生能直观地看到教师的操作方式。

(2)文件分发:教师机能够选择一个文件分发给所有的学生机。学生机能够自动接受教师机传输过来的文件,并且存储在本地磁盘。

(3)远程命令:教师可向学生终端发送黑屏锁定、远程复位、远程关机、浏览进程、杀死进程的命令。

(4)网上消息:教师机可以给本课堂全体学生发送简短文字消息,同全体学生进行实时交互。

(5)远程配置:教师机可以查看学生机的相关配置信息。

(6)电子举手:学生随时通过电子举手向教师示意,同教师进行实时交互。

2.网络拓扑结构设计

目前,大多数LAN使用的拓扑结构有3种:星型拓扑结构、环型拓扑结构、总线型拓扑结构。根据学校的实验室环境和系统的需求,本系统局域网拓扑结构采用星型拓扑结构,该结构有利于资源充分利用和实验室管理员的管理。网络拓扑结构的设计如图1所表示。交换机采用STAR公司的S1824F型号的交换机,此型号的交换机用24个接口,能够实现24台计算机终端的互连通信。

3.软件系统结构和功能模块设计

根据局域网拓扑结构的设计和网络教室通信的需要,软件系统采用C/S结构。客户/服务器系统主要由客户机、服务器和网络系统三个部分组成。本网络教室分为教师机和学生机,且在本系统中,教师机和学生机互为客户端和服务器端。

本系统中教师机可以进行屏幕广播、向学生机发送简单的文字消息、黑屏锁定学生机等;学生机则响应教师机的各种命令并可以发送电子举手消息。总体功能模块图如图2、图3所示。

4.系统通信

在采用客户/服务器的系统中,通常是客户机和服务器共同完成对应用程序的处理。在客户机和服务器之间就需要进行交互,即必须利用消息机制在这两者之间进行多次通信。

系统具体通信过程采用Windows Sockets通信实现,应用程序用Windows Sockets的API实现相互之间的通信。Windows Sockets又利用下层的网络通信协议(即TCP/IP协议)功能,与操作系统调用实现实际的通信工作。

三、系统主要功能模块的实现

小型网络教室设计为教师机和学生机,各个功能通过教师机和学生机之间的通信共同完成。具体主要运用了Windows Sockets技术、Windows多任务中的进程和线程技术、以及MFC来实现教师机和学生机端的各个功能。

1.监听请求和远程命令

系统中教师机和学生机互为客户端和服务端,无论在教师机还是在学生机,都需要向对方请求服务和提供服务,而另一方则需要监听对方的请求信息。

(1)学生机端监听TCP连接请求的设计与实现

学生机端需要监听教师机端发出请求信息,这就需要在学生机端创建一个监听教师机TCP连接请求的线程。在线程回调函数中,创建一个使用端口5148的CSocket对象,并使用监听函数监听TCP连接请求,用Accept()接受教师机的TCP连接请求,Receive()远程控制命令代码,然后调用ReceiveFileMsg()函数根据接收到的远程控制命令代码,进行相应的处理。最后用Close()关闭套接字。

(2)教师机监听TCP连接请求的设计与实现

同样,教师机也需要监听学生机的请求,具体的实现过程与学生机类似。

(3)学生机接收远程命令实现过程

学生机作为被监控方,能够接收来自教师机的命令,并根据接收到的命令进行相应的处理。在系统中主要设计了一个函数来识别接收到的命令,入口参数分别表示接收教师机发送过来的远程控制的代码和教师机的SOCKADDR_IN结构。出口参数表示此函数执行是否成功。

2.屏幕广播的实现

本模块实现教师机的屏幕广播到同一局域网段的所有学生机,使学生机屏幕与教师机屏幕同步的功能。为了能够实现此功能,教师机和学生机采用面向无连接的数据报文方式(UDP)通信。

在教师机每隔1秒就截取屏幕,并保存为位图文件,然后将此位图文件广播给所有的学生机。在学生机接收教师机发送过来的位图文件内容,并将此文件内容写入学生机本地磁盘的位图文件,并实时将此位图文件加载到对话框上。

由于位图文件比较大,在图片的抓取和传输过程中使用了图片的压缩算法。

3.文件分发和接收

本模块实现将教师机的文件分发给同一局域网段的所有学生机,学生机将接收到的文件保存在本地磁盘的功能。为了能够实现此功能,教师机与学生机需要采用面向无连接的数据报文方式(UDP)通信。

文件分发和接收的工作流程如下:首先,在教师机选择需要分发的文件,获取文件名和文件长度广播给局域网内所有学生机;然后,再获取文件内容分发给所有学生机。学生机根据收到的文件名在本地创建同名文件,然后将接收到的文件内容写入本地同名文件中,完成文件的接收。

四、结束语

小型网络教室的基本功能已经初步完成,并应用于学校的实验室。局域网系统拓扑结构设计合理,网络教室功能适用性强,具有可扩展性。它能够进一步提高现代教学水平,提高学生的上课效率,加强教师对课堂情况的掌握,节约教学资源,促进教育事业的发展。

参考文献:

[1]叶俊民.软件工程.北京:清华大学出版社,2006.

[2]张文.TCP/IP基础.北京:电子工业出版社,2007.

猜你喜欢
线程服务器客户
通信控制服务器(CCS)维护终端的设计与实现
为什么你总是被客户拒绝?
如何有效跟进客户?
浅谈linux多线程协作
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
做个不打扰客户的保镖
23
基于上下文定界的Fork/Join并行性的并发程序可达性分析*