WEB开发网
开发学院网络安全黑客技术 带你迈上专业软件开发第一步:远程屏幕监视软件的... 阅读

带你迈上专业软件开发第一步:远程屏幕监视软件的设计与实现

 2009-05-29 16:52:57 来源:WEB开发网   
核心提示: 详细功能设计上面大体分析了功能和需要,下一步一起来看看如何进行详细的功能设计,带你迈上专业软件开发第一步:远程屏幕监视软件的设计与实现(3),1.客户端(Client)(1)客户端与服务端之间网络畅通状况的检测,编写Ping模块,将参数传递给屏幕图像截取模块,(2)屏幕图像截取与传输步骤:

详细功能设计

上面大体分析了功能和需要,下一步一起来看看如何进行详细的功能设计。

1.客户端(Client)

(1)客户端与服务端之间网络畅通状况的检测。编写Ping模块,此模块发送一个ICMP echo request(ICMP协议回显请求)至目标主机,如果获得回显,则向目标主机发送连接请求。

(2)客户端(Client)与服务端(Server)之间的数据传输。利用Winsock API函数来定义用于本软件数据传输的Sockets。具体过程为:连接远程主机->返回有效SOCKET(使用Connect_Server())->向SOCKET写字符串(使用Write_Socket())->向远程主机的指定端口发送字符串提供转换参数(使用SendMsg())->动态分配端口,并与SOCKET绑定->返回该SOCKET(使用BindSocket())->向远程主机的指定端口发送请求(使用SendStream())->从远程主机的指定端口接收数据流(使用RecvStream())。

(3)图像重绘:使用Image控件将从远程主机发送到的JPGE图像显示。

2.服务端(Server)

(1)服务端(Server)功能的实现。使用C++ Builder的Socket Server控件编写软件的服务端(Server)。监听本地计算机指定端口,接受由客户端发送至的相关参数,将参数传递给屏幕图像截取模块。

(2)屏幕图像截取与传输步骤:读取取得桌面的矩形区域范围GetWindowRect()->创建内存设备描述表从而定义位图变量GetDC()->拷贝屏幕的指定区域到位图BitBlt();->创建JPEG图象将位图转化为JPEG格式->保存JPEG图象信息至内存数据流Assign(),SavetoStream()->将图象信息数据流通过Sockets发送至客户端(由SendStream()实现)。

程序流程图

带你迈上专业软件开发第一步:远程屏幕监视软件的设计与实现

上一页  1 2 3 4 5 6 7 8  下一页

Tags:专业 软件开发 第一

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接