APP下载

基于Tablet PC的网上答疑系统的设计与实现

2011-09-24金贵朝孙洪伟

关键词:服务器端白板绘制

金贵朝,孙洪伟

(1.杭州师范大学钱江学院,浙江 杭州310012;2.杭州中科天翔科技有限公司,浙江 杭州310012)

基于Tablet PC的网上答疑系统的设计与实现

金贵朝1,孙洪伟2

(1.杭州师范大学钱江学院,浙江 杭州310012;2.杭州中科天翔科技有限公司,浙江 杭州310012)

目前网上答疑系统缺乏对实时图形绘制的支持,文章提出一个基于Tablet PC的网络白板答疑系统的设计方案,阐述了基于Tablet PC SDK的笔式界面开发,基于Socket的通信功能开发,白板图形数据的编码解码等关键技术.实现了在网络白板上进行图形和文本实时交流的功能.

Tablet PC;网上答疑;Socket编程

目前,国内真正具有互动的网上答疑系统非常少,有些远程教育网站没有设置答疑系统,大多数有答疑系统的远程教育网站采用电子邮件、聊天室、BBS讨论区等实现答疑[1].但这些常见的交流工具缺乏对实时图形绘制的支持,如果要对一个图形进行答疑,往往需要先用专用的图像工具如Photoshop绘制好图像后上传,教师的批复也同样如此,影响了师生之间交流讨论的效果.

Tablet PC是支持笔、手写、自动演讲等功能的计算机,该研究的目的是实现一个基于Tablet PC的网络白板答疑系统,支持用户使用基于手绘笔的界面在网络白板上进行图形和文本的实时交流.

1 系统设计

基于Tablet PC的网络白板答疑系统,包括通信服务器、教师客户端和学生客户端,系统界面如图1所示.系统启动后,教师可创建“虚拟教室”,学生和教师可进入该教室进行交流,通过白板接收对方绘制的信息(包括数字、文字和图形等).

白板在绘制时,绘制白板的客户端为图形信息发送端,其他的客户端为图形信息接收端.发送端在完成一笔绘制后,该笔所有点的信息就会发送至服务器端,然后通过服务器端发送给各个接收端.接收端在接收到坐标信息后,把图形信息还原在白板上,这样就达到了一方绘制

图1 系统界面

服务器端具体功能包括:1)服务器开启,监听端口,等待连接;2)记录教室和教师信息;3)记录请求连接学生的基本信息;4)接收白板图形数据;5)发送白板图形数据;6)关闭服务器,退出系统.

教师客户端具体功能包括:1)创建教室;2)操作白板,获取图形信息;3)对学生客户端的请求进行回复;4)接收白板图形数据.

学生客户端具体功能包括:1)请求连接服务器;2)接收白板图形数据;3)请求使用白板;4)发送白板图形数据.

2 关键技术

2.1 基于Tablet PC SDK的笔式界面

系统采用Tablet PC SDK作为手绘符号的采集和处理;Tablet PC SDK包含以下3个部分:Ink Collection,Ink Data Management,Ink Recognition.

Ink Collection有两种类型的收集方式:一种是使用SDK提供的控件,Ink Picture和Ink Edit;另一种是使用SDK提供的类,这些类可以绑定到现有的窗口上,只要提供窗口的句柄就可以使该窗口具有绘图功能.该系统中就使用了Ink Picture控件,并且设置该控件捕获每个点的坐标和时间信息.

由于图形数据是从白板上获取,所以必须要定义一个InkOverlay变量来得到绘画区Handle(句柄);然后再定义一个Stroke变量,通过InkOverlay变量的Stroke事件来获取图形的stroke(笔画)信息,最后把获取到的stroke信息转换给Point[](点属性)来存储.

以下是定义InkOverlay对象和Stroke对象的主要代码:

2.2 基于Socket的通信原理实现

Microsoft.Net Framework为应用程序访问Internet提供了分层的、可扩展的以及受管辖的网络服务,其名字空间System.Net和System.Net.Sockets包含丰富的类可以开发多种网络应用程序.

从TCP/IP模型上的逻辑层面上看,.Net类可以视为包含3个层次:请求/响应层、应用协议层和传输层.工作模式如图2所示.

Socket类处于传输层,传输层位于这个结构的最底层.在.Net中,System.Net命名空间中所有其他网络访问类都建立在该套接字Socket实现之上,如TCPClient、TCPListener和UDPClient类封装有关创建到Internet的TCP和UDP连接的详细信息;Network-Stream类则提供用于网络访问的基础数据流等.Socket可以像流Stream一样被视为一个数据通道,这个通道架设在应用程序端(客户端)和远程服务器端之间,数据的读取(接收)和写入(发送)均通过这个通道来进行[3].客户端和服务端之间的通信方式如图3所示.

创建Socket对象的实例,可通过Socket类的构造方法来实现:Public Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp).其中:addressFamily参数指定Socket使用的寻址方案,socketType参数指定Socket的类型,protocol-Type参数指定Socket使用的协议.创建一个Socket实例socket,在基于 TCP/IP的网络(如Internet)上通讯:socket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp).

在Socket实例被创建后,在客户端,系统将通过connect方法连接到指定的服务器,并通过Send方法向远程服务器发送数据,而服务器端可以通过Receive方法接收数据;在服务器端,系统使用Bind方法绑定所指定的接口使Socket与一个本地终结点相联,并通过Listen方法侦听该接口上的请求,当侦听到客户端的连接请求时,调用Accept完成连接的操作,并创建新的Socket来处理传入的连接请求.使用完Socket后,需要使用Shutdown方法禁用Socket,并使用Close方法关闭Socket.

以下为Socket通信中服务端、客户端实现通信的主要程序.服务端:

服务器开启监听需要创建一个新的线程来实现,在.Net中要创建新线程需要引用系统关于线程操作的类库,即using System.Threading.创建新线程并且应用的方法如下:

Thread runThread;//建立一个新的线程

ThreadStart threadstart=new ThreadStart(监听程序函数);

runThread= new Thread(threadstart);

runThread.Start();//开始监听

2.3 白板图形数据的编码、解码

该系统对图形信息的3个方面进行了编码,包括笔画的颜色、图形上每一点的X坐标、图形上每一点的Y坐标.系统把图形每点的坐标通过逗号“,”进行了分离,以“X=X[1],X[2],…,X[n]”和“Y=Y[1],Y[2],…,Y[n]”的形式把X坐标和Y坐标分离成两个字符串,再把X字符串和Y字符串进行连接成最终要传送的字符串模式,它们之间以分号“;”作为分隔符:XY=X;Y.

图形信息编码方法如下:

3 系统的实现

3.1 系统运行环境要求

硬件要求:系统运行最好使用手写笔等手写设备,当没有这些设备时允许使用鼠标代替手写笔进行操作.

软件要求:Windows Tablet PC SDK(非Tablet PC需要安装SDK).

3.2 实验结果

系统启动后,教师创建答疑教室,如图4所示.教室创建成功后,教师和学生均可进入该教室进行答疑活动,如图5所示.学生通过白板接收来自教师的绘制演示,如同现实生活中看教师在黑板上进行的课程答疑和讲解;期间学生可以通过呼叫,请求使用白板进行绘制,考虑到答疑效果,系统不允许几个学生端同时绘制白板.

4 结 语

针对目前网上答疑系统缺乏对实时图形绘制的支持等问题,该文提出了一个基于Tablet PC的网络白板答疑系统的设计方案.系统通过Tablet PC SDK的笔式界面开发,基于Socket的通信技术、白板图形数据的编码解码技术,支持用户在网络白板上进行图形和文本的实时交流,达到“你所见即我所见”的效果.但仍有一些问题值得研究,如何实现声音、视频等多种媒体的交流方式,进一步完善网络白板答疑系统的功能是我们继续研究的方向.

[1]刘冬杰.基于 Web的网络远程学习平台的设计与实现[J].电化教育研究,2005(3):47-49.

[2]张刚毅.电子白板功能的设计与实现[J].现代电子技术,2006,29(1):140-144.

[3]潭翀.基于Socket的跨平台多服务器通信系统的设计与实现[J].舰船电子工程,2009,29(8):101-103.

Abstract:This paper designed a on-line Q/A system based on Tablet-PC.This system collects the graph strokes using Tablet PC SDK,and sends information under the Socket technology.Under this system,drawing on a whiteboard by apen and exchanging views immediately can be achieved.

Key words:Tablet PC;on-line Q/A System;Socket technology

Design and Implementation of On-Line Q/A System Based on Tablet-PC

JIN Gui-chao1,SUN Hong-wei2
(1.Qianjiang College,Hangzhou Normal University,Hangzhou 310012,China;2.Hangzhou G-soft Technology Co.Ltd.,Hangzhou 310012,China)

TP393.09

A

1674-232X(2011)01-0092-05

2010-07-25

金贵朝(1980—),男,浙江磐安人,工程师,硕士,主要从事模式识别、计算机教学研究.E-mail:jinguichao@126.com多方浏览的效果(你所见即我所见)2.

10.3969/j.issn.1674-232X.2011.01.018

猜你喜欢

服务器端白板绘制
Linux环境下基于Socket的数据传输软件设计
巧用希沃白板 助力英语课堂
巧用白板奏出识字教学新乐章
超萌小鹿课程表
希沃白板在初中生物学复习教学中的应用
放学后
浅析异步通信层的架构在ASP.NET 程序中的应用
基于Qt的安全即时通讯软件服务器端设计
在转变中绘制新蓝图
网页防篡改中分布式文件同步复制系统