骇客
TW版主
 
UID 117186
精华
2
积分 2557
帖子 1918
阅读权限 100
注册 2007-3-8
状态 离线
|
|
|
2、远程监控软件设计 "u1@#z6^ Q;[,D ~#G/i*P/n
tech.techweb.com.cn3~,C m*J&A$t.q
2.1 消息输入/显示模块实现
(R!a,N%G/B:w+`"Xtech.techweb.com.cn)V*R'P,T:w.W-T+D
客户端输入/显示模块的开发采用Visual C++,利用模块化、通用性强的特点,实现远程监控中用户界面的编写。用户显示界面保持与设备界面的一致,方便用户操作。 tech.techweb.com.cn3j&q4?*I#\&O$m
;x4_*b(L#l;h%O'R+G
2.2 通信模块实现
%g8J;k!R!z2@.`程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛6?4@;G8n8@"x/]1k1h
(1) Socket编程 TechWeb-技术社区,S5u+H9y2x4m
5F,x9s/i8T9o$t1u1|!H#X1Z
数据通信模块中的数据通道建立采用Socket编程。Socket支持TCP/IP协议网络通信的基本操作;它屏蔽了网络底层的通信细节,使编程简单;它对通信端点进行了抽象,提供发送和接收数据机制及打开、计算和关闭会话的能力。本项目中,客户端运行在Windows操作平台下,采用WinSock来编程实现命令和数据信息的传输;而服务端运行在Linux操作平台下,通信直接使用Socket编程实现。 TechWeb-技术社区$e&^$G5Z0w,@*T;}
tech.techweb.com.cn:U8d(O*?;~)X*n
(2) 通信建立 TechWeb-技术社区!m3j'y$y8S#Z
;H%g:H-h7F5ttech.techweb.com.cn 服务器与客户端开始都必须调用socket()函数产生一个Socket套接字;然后服务器调用bind()函数,将套接字与本地网络地址捆扎在一起,在网络上标志该套接字;只有当服务器执行完accept()进入监听模式、阻塞状态后,才能接收客户端的connect()请求并决定是否接收数据;建立连接后,客户端与服务器之间便可以双向传输数据。服务器主要通信代码:
:j,H-r1f&A1X:vTechWeb-技术社区
0i5e,H6C9H,n.Qtech.techweb.com.cnlistenfd=socket(AF—INET,SOCK—STREAM,0)
,Q1V3i+j0D/x&a:Fbind(1istenfd,(SOCKADDR %)&sockaddr—echo,sizeof(struct sockaddr_in)) 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛.H2r/[(c9X9[
echofd=accept(1istenfd,(SOCKADDR %)(&sockaddrcli),&sizeof(SOCKADDR)); tech.techweb.com.cn#`.e2D"]*Y%]
while((read—n=read(echofd,revbuf,BUFLEN))0) 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛$F-T0J9e"Q
{.一//指令解释与函数调用} %w4v)V({6~9q/}7j
if((write—n=write(echofd,okbuf,strlen(sendbuff)))0) 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛0n5O0t2s.l.Q;r#T5x5|
{.一//将结果返回给客户端} /M+F%^2u;Z"P0|
tech.techweb.com.cn2v7z#n.v+F2u#N!p
其中,客户端与服务器间制定统一的数据通信协议,所有的数据和指令信息统一编码,编码格式为:命令代码:数据部分(各数据之间用#分隔)。在传输用户密码时,采用事先约定好的数据加密密匙,以防明文形式传输造成的信息泄漏。
-o0F1x/l7I6[TechWeb-技术社区 O,[/L!f.\"R8K!u
2.3 调用模块实现 TechWeb-技术社区3G4G&\7C'_:p
$H!l Z r3|&k"h.Z"Ctech.techweb.com.cn 设备应用层中设计了Controller调用管理模块,负责调用现场设备测试线程,启动服务器线程,以及服务器与测试线程间指令和返回结果的传递。服务器收到客户端指令,交由解释模块解释后传送给Controller,等待Controller的结果参数返回给客户即可。Controller是设备的核心,负责管理设备中的所有进程。
7C0\"e5T/K:z
4`2N0N E"g*w!l 2.4 软件流程 TechWeb-技术社区8s)b s(C&q/G;Z0G:w'B
tech.techweb.com.cn:S.l0a)r#n:w:w9K1p8S
程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛+s G5B'X9q j;l;@
图2 软件核心流程
|
引用
回复
|
|