服务器端功能实现

幽雾 2009-08-14 07:40:47
根据服务器web 管理中的 文件,注册表,网络防护功能(这些功能已经存在并做为参考)设计一个简单的 类http协议
利用这个协议,来完成控制伪agent(一个安装在客户端的探头)的功能,如 让 伪agent 防护某个
文件夹,防护注册表的某个位置,阻塞某个ip,伪agent 要将控制命令执行的结果以 Xml的形式返回
Xml中包含执行命令后的结果,例如一个命令中的哪些子项成功了,哪些失败了。
文件,注册表,网络防护以动态库插件的形式存在。这些插件使用一个统一的接口

提交设计的控制协议,xml, 插件接口头文件(三个头文件)

写三个接口(.h头文件),希望牛人指点,最好详细一点。
...全文
138 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
幽雾 2009-08-14
  • 打赏
  • 举报
回复
自己在网上找的xml接口,还不完善吧,有不需要的方法,还有缺少与伪agent(探头)通信的方法。。。

// XMLLogfile.h: interface for the CXMLLogfile class.

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <sys/timeb.h>
#include <time.h>
#include <atlbase.h>
#include <msxml.h>
#include <shlobj.h>
#include <comdef.h>

#pragma comment(lib,"msxml2.lib")

class CXMLLogfile : public CObject
{
CString m_strFileName;
IXMLDOMDocument *m_pXMLDoc;

//查找父节点下的某一子节点指针,没有则判断是否创建创建
IXMLDOMNode * GetChildNode(LPCTSTR lpszParent, LPCTSTR lpszChild,BOOL bCreate = TRUE);

//根据名称查找第一层子节点指针,没有则判断是否创建
IXMLDOMNode * GetFirstLevelNode(LPCTSTR lpszNodeName,BOOL bCreate = TRUE);

inline double TimeStamp(void)
{
_timeb ts;
_ftime( &ts );
return (int)ts.time + (ts.millitm/1000.0);
};
protected:

//在XML中添加一节点,并赋值为 lpszValue
void AppendNode(IXMLDOMNode * pXMLItem, LPCTSTR lpszNodeName, LPCTSTR lpszValue);

//在XML中添加一条日志
void AppendItem(LPCTSTR lpszFileName,LPCTSTR lpszComment);

void Flush(); //将缓冲区内数据写到磁盘保存XML文件

bool CreateLogFile(LPCTSTR lpszLogFilName); //创建原始的XML日志文件

void DumpComError(_com_error &e); //输出COM错误信息

void Init(); //初始化XML日志文件的工程信息

public:
CXMLLogfile(LPCTSTR lpszFileName = NULL);

virtual ~CXMLLogfile();

void Log(LPCTSTR lpszFilName,LPCTSTR s,...); //添加一条日志记录

bool ClearAll(); //清除日志
};

superbtl 2009-08-14
  • 打赏
  • 举报
回复
先MARK
Gary@Tokyo 2009-08-14
  • 打赏
  • 举报
回复
MFC的东西,唉。。。。

64,666

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧