(1)显示指定被控端的实时信息:包括查看一台或多台轮询等方式。
(2)获取所有被控端的信息,如屏幕图像等。
(3)对被控端进行人工的控制:加入黑名单、加锁、解锁以及发布通知等。
根据以上的主要功能可以将控制端分成三个模块:控制模块、控制端消息引擎和网络传输模块,其中控制模块主要完成抓取控制端在被控端屏幂上屏幕图片信息并生成相应的消息,控制端消息引擎主要识别被控端发送过来的消息及调用相应的处理过程,网络传输模块传输控制端生成的消息。
5.1.1 控制模块的实现
实时地监视被控端的目的是为了能够更好的管理和控制局域网中的机器。本系统的监控端流程如图5.1.1所示。
图5.1.1监控端流程
主要功能代码实现及说明:
(1) void CServerLanDlg::OnReceived(WPARAM wParam, LPARAM lParam)
此函数主要是接收消息引擎,根据监控端接收到的消息来处理响应,主要接收到的消息包括USER_ON,USER_OFF_USER_JOIN,以及获得被控端显示数据。
void CServerLanDlg::OnReceived(WPARAM wParam, LPARAM lParam)
{
//接收数据
char* buffer = new char[MAX_BUFF];
sockaddr_in addr;
int factsize =sizeof(sockaddr);
int ret = recvfrom(m_socket,buffer,MAX_BUFF,0,(sockaddr*)&addr,&factsize);
if (ret != -1)
{
if(ret == USER_ON)
{
if(buffer[0] == 'w')
{
int i = m_List1.GetItemCount();
int flag = 0;
for(int j = 1; j <= i; j++)
{
CString tempIP;
m_List1.GetItemText(j-1,0,tempIP.GetBuffer(15),15);
tempIP.ReleaseBuffer();
if(tempIP == inet_ntoa(addr.sin_addr))
{
flag = 1;
break;
}
}
if(flag)
{
m_List1.SetItemText(j-1,1,"在线");
}
else
{
m_List1.InsertItem(i,inet_ntoa(addr.sin_addr));
- 上一篇:C#文本朗读与语音识别软件开发与设计
- 下一篇:基于MM路径的集成测试用例生成技术研究
-
-
-
-
-
-
-
中考体育项目与体育教学合理结合的研究
java+mysql车辆管理系统的设计+源代码
酸性水汽提装置总汽提塔设计+CAD图纸
当代大学生慈善意识研究+文献综述
十二层带中心支撑钢结构...
大众媒体对公共政策制定的影响
电站锅炉暖风器设计任务书
乳业同业并购式全产业链...
河岸冲刷和泥沙淤积的监测国内外研究现状
杂拟谷盗体内共生菌沃尔...