主要功能模块实现
1)屏幕监视
幼儿园大班环境创设计划 在窗体上添加一个Timer控件,名称为Timer1,其Interval属性设为6000(采样间隔为6秒);在窗体上增添一个Image控件,名称为Image1,调整至合适尺寸,将其Stretch属性改为True,添加如下代码:
Const iNumClient = 5 客户机的数量
Dim clientage(1 To iNumClient) As String 存放客户机名称的数组
Dim I as Integer
然后在Form Load中把clientage逐个赋值为客户机的名称,再添加如下代码:
Private Sub Timer1_Timer ()
i = i + 1 ;
If (i > iNumClient) Then i =1
Image1.Picture = Load Picture ("D: ClientScreenimage" & clientage (i) & “.bmp")
End Sub
编译生成可执行文件Server.exe,将其放在文件夹D:ClientScreen下,并在该文件夹下新建一个文本文件Client.ini,里面记录着客户机的采样间隔,格式为“任意字符串(不能包含等号)=时间(毫秒)”,比如:
Client Interval=60000
即表示客户机的采样间隔为60秒。编译生成可执行文件Client.exe,这样,屏幕监视的客户端已经完成[5]。
2)远程控制
先建立一个窗体,加载Winsock控件,名称为tcpserver。另外在窗体上加入一个文本框text1用来显示客户机的IP地址和客户机发送过来的数据信息。
当客户端程序运行时,在客户端程序按下连接按钮后,客户端向服务器端程序请求连接,这时服务器端的connection request事件被触发,所以服务器端程序要解决连接问题,可以使用connection request事件完成此功能[6]。代码如下:
在窗体的load事件中对tcpserver控件进行初始化
Private sub form load ()
tcpserver.localport=1001
tcpserver.listen 把服务器置于监听检测状态
End sub
服务器端接收到客户端的连接请求,首先检查当前状态是否处于连接关闭
状态
Private sub tcpclient_connectionrequest (By Val requested as long)
If tcpserver.state<>sckclosed then检查控件的state属性是否为关闭
Tcpserver.close
Tcpserver.accept requested
End if
End sub
至此,服务器端程序可以接收客户机端的指令,并运行相应的程序[7]。
3)屏幕广播
高三数学教学与复习计划(1) Winsock 控件的设置在控制端和客户端安排两对Winsock 控件,控件通信协议均设为UDP,其中Sersock1 和Clitsock1 用于传输文件字节总数,Sersock2 和Clitsock2 用于传输屏幕数据,控制端IP地址为192.168.60.001
(2)主控端广播屏幕图像文件的获取及压缩调用Windows API 函数keybd_event 来模拟键盘上的Print Screen 键来完成屏幕图像的截取,屏幕截图及压缩处理的代码如下
上一页 [1] [2] [3] [4] [5] [6] 下一页
C#多媒体网络教室系统设计与实现 第5页下载如图片无法显示或论文不完整,请联系qq752018766