// ITM-ServiceDlg.cpp : 实现文件
//
#include "stdafx.h"
#include "ITM-Service.h"
#include "ITM-ServiceDlg.h"
#include "Setting.h"
#include "MySocket.h"
#include "ThreadRecv.h"
#include "agreement.h"
#include "CMD_State.h"
#include "Public.h"
#include "Manage.h"
#include "ThreadHeartRecv.h"
#include "ManageZhuanFa.h"
#include "ThreadZhunFaRecv.h"
#include "MyLock.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
queue<SOCKET> queue_socket;
list<SOCKET_INFO> list_socketinfo;
list<CONTROL_PROCESS> list_control_process; //系统监控进程信息
list<SOCKET> list_SUI_socket;//保存SUI套接字
list<ONLINE_CLIENT_INFO> list_online_client_info;//保存在线客户端信息
//SUI登陆
#define SEQ_USERS_ID_NEXT "SEQ_ITM_USERS_ID.NEXTVAL"
#define USERS_ID_COL "NEXTVAL"
/*权限表--权限编号*/
#define SEQ_ITM_GRANT_ID_NEXT "SEQ_ITM_GRANT_ID.NEXTVAL"
#define GRANT_ID_COL "NEXTVAL"
/*监控数据库表--编号*/
#define SEQ_ITM_DB_ID_NEXT "SEQ_ITM_DB_ID.NEXTVAL"
#define DB_ID_COL "NEXTVAL"
/*监控进程表--编号*/
#define SEQ_ITM_PROCESS_ID_NEXT "SEQ_ITM_PROCESS_ID.NEXTVAL"
#define PROCESS_ID_COL "NEXTVAL"
/*监控WEB表--编号*/
#define SEQ_ITM_WEB_ID_NEXT "SEQ_ITM_WEB_ID.NEXTVAL"
#define WEB_ID_COL "NEXTVAL"
/*监控地区表--编号*/
#define SEQ_ITM_CONTROL_CITY_ID_NEXT "SEQ_ITM_CONTROL_CITY_ID.NEXTVAL"
#define CONTROL_CITY_ID_COL "NEXTVAL"
/*系统信息表--编号*/
#define SEQ_ITM_SYSINFO_ID_NEXT "SEQ_ITM_SYSINFO_ID.NEXTVAL"
#define SYSINFO_ID_COL "NEXTVAL"
/*日志表--编号*/
#define SEQ_LOGS_ID_NEXT "SEQ_ITM_LOGS_ID.NEXTVAL"
#define LOGS_ID_COL "NEXTVAL"
/*设备表--编号*/
#define SEQ_ITM_DEVICE_ID_NEXT "SEQ_ITM_DEVICE_ID.NEXTVAL"
#define DEVICE_ID_COL "NEXTVAL"
// 用于应用程序“关于”菜单项的 CAboutDlg 对话框
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// 对话框数据
enum { IDD = IDD_ABOUTBOX };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
END_MESSAGE_MAP()
// CITMServiceDlg 对话框
CITMServiceDlg::CITMServiceDlg(CWnd* pParent /*=NULL*/)
: CDialog(CITMServiceDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDI_LOGO);
m_IsStart=FALSE;
//初始化临界区
::InitializeCriticalSection(&m_cs);
::InitializeCriticalSection(&m_csbool);
m_IsExit=FALSE;
}
CITMServiceDlg::~CITMServiceDlg()
{
//删除临界区
::DeleteCriticalSection(&m_cs);
::DeleteCriticalSection(&m_csbool);
}
void CITMServiceDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_USERLIST, m_userlist);
DDX_Control(pDX, IDC_STOP, m_stop);
DDX_Control(pDX, IDC_START, m_start);
DDX_Control(pDX, IDC_OSSETTING, m_setting);
DDX_Control(pDX, IDC_LOGLIST, m_loglist);
DDX_Control(pDX, IDC_EXIT, m_exit);
//}}AFX_DATA_MAP
DDX_Control(pDX, IDC_ADMINLIST, m_adminlist);
//--------------test 09.5.9
DDX_Control(pDX, IDC_CPU, m_CPUUsage);
DDX_Control(pDX, IDC_MEMORY, m_MemoryUsage);
DDX_Control(pDX, IDC_LIST1, m_worklist);
}
BEGIN_MESSAGE_MAP(CITMServiceDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_WM_DESTROY()
ON_WM_CLOSE()
ON_WM_TIMER()
ON_BN_CLICKED(IDC_OSSETTING, OnOssetting)
ON_BN_CLICKED(IDC_START, OnStart)
ON_BN_CLICKED(IDC_STOP, OnStop)
ON_BN_CLICKED(IDC_EXIT, OnExit)
ON_MESSAGE(WM_NETWORKMSG,OnNetWork_Msg)
ON_MESSAGE(WM_LOGIN_SHENHE,OnLoginShenHe)
ON_MESSAGE(WM_LOGIN,OnLogin)
ON_MESSAGE(WM_USER_EXIT,OnUser_exit)
ON_MESSAGE(WM_LOGDATA,OnLogData)
ON_MESSAGE(WM_PROCESSDATA,OnProcessExitData)
ON_MESSAGE(WM_PROCESSDATAADD,OnProcessAddData)
ON_MESSAGE(WM_PROCESSDATACANCEL,OnProcessCancelData)
ON_MESSAGE(WM_TIMEOUT,OnTimeOut)
ON_MESSAGE(WM_SUI_LOGIN,OnSUI_Login)
ON_MESSAGE(WM_SUI_EXIT,OnSUI_Exit)
//托盘
ON_COMMAND(ID_SHOW_HIDE,OnProgShowOrHide)
ON_COMMAND(ID_EXITOS,OnProgExit)
//监控信息
ON_MESSAGE(WM_CONTROL_DB_INFO,OnRecvDBInfo)
ON_MESSAGE(WM_CONTROL_WEB_INFO,OnRecvWebInfo)
ON_MESSAGE(WM_CONTROL_PROCESS_INFO,OnRecvProcessInfo)
ON_MESSAGE(WM_CONTROL_DEVICE_INFO,OnRecvDeviceInfo)
//系统信息
ON_MESSAGE(WM_SYSINFO,OnRecvSysInfo)
ON_MESSAGE(WM_POSSYSINFO,OnRecvPosSysInfo)
END_MESSAGE_MAP()
// CITMServiceDlg 消息处理程序
BOOL CITMServiceDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 将“关于...”菜单项添加到系统菜单中。
// IDM_ABOUTBOX 必须在系统命令范围内。
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
//ini文件写入系统 c:\\WINDOWS\\system32\\Service_Config.ini 目录下
CPublic c_public;
BOOL flag_file = c_public.IsFileExist("C:\\WINDOWS\\system32\\Client_Config.ini");
if (flag_file == FALSE) //文件不存在
{
//基本配置
::WritePrivateProfileString("CONTROL_SERVICE","PORT","5555","C:\\WINDOWS\\system32\\Service_Config.ini");
::WritePrivateProfileString("CONTROL_SERVICE","HEART_PORT","8888","C:\\WINDOWS\\system32\\Service_Config.ini");
//DB配置
CString str_dri;
str_dri = "OraOLEDB.Oracle.1";
::WritePrivateProfileString("ORACLE_DATABASE","PROVIDER",(LPCSTR)str_dri,"C:\\WINDOWS\\system32\\DB.ini");
::WritePrivateProfileString("ORACLE_DATABASE","HOST","192.168.1.122","C:\\WINDOWS\\system32\\DB.ini");
::WritePrivateProfileString("ORACLE_DATABASE","PORT","1521","C:\\WINDOWS\\system32\\DB.ini");
::WritePrivateProfileString("ORACLE_DATABASE","DATABASE_NAME","ITM","C:\\WINDOWS\\system32\\DB.ini");
::WritePrivateProfileString("ORACLE_DATABASE","USER_ID","itm","C:\\WINDOWS\\system32\\DB.ini");
::WritePrivateProfileString("ORACLE_DATABASE","PASSWORD","itm","C:\\WINDOWS\\system32\\DB.ini");
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
// SetIcon(m_hIcon, TRUE); // Set big icon
// SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
m_hIcon=AfxGetApp()->LoadIcon(IDI_LOGO);
SetIcon(m_hIcon,TRUE);
// m_trayicon.Create(this,WM_TRAYICON,"ITS系统监控--服务器 V1.0",m_hIcon,IDR_MENU1);
//托盘ICON
m_icondata.cbSize = sizeof(NOTIFYICONDATA);
m_icondata.uID = IDR_MENU1;
m_icondata.hWnd = this->GetSafeHwnd();
ASSERT(NULL != m_icondata.hWnd);
m_icondata.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;
m_icondata.uCallbackMessage = WM_MYICON;
m_icondata.hIcon = (HICON)LoadImage(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_LOGO), IMAGE_ICON, 16, 16, 0);
ASSERT(NULL != m_icondata.hIcon);
strcpy(m_icondata.szTip,"ITS系统监控--服务器 V1.0");
Shell_NotifyIcon(NIM_ADD,&m_icondata);
//init data
CMyLock c_mylock(m_cs,"BOOL");
//thread
m_threadhandle = (HANDLE)CreateThread(NULL,0,ThreadFun,this,0,&m_threadID);
if (m_threadhandle ==NULL)
{
TRACE("create thread fail...\n");
return FALSE;
}
m_userlist.ModifyStyle(0,LVS_REPORT);
m_userlist.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_FLATSB);
CRect rc;
m_userlist.GetClientRect(&rc);
int x=rc.Width();
int y=rc.Height();
m_userlist.InsertColumn(0,"编号",LVCFMT_LEFT,x/4);
m_userlist.InsertColumn(1,"IP",LVCFMT_LEFT,x*2/4);
m_userlist.InsertColumn(2,"PORT",LVCFMT_LEFT,x/4);
m_loglist.ModifyStyle(0,LVS_REPORT);
m_loglist.SetExtendedStyle(LVS_EX_FLATSB | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
m_loglist.GetClientRect(&rc);
x=rc.Width();
m_loglist.InsertColumn(0,"编号",LVCFMT_LEFT,80);
m_loglist.Insert
没有合适的资源?快使用搜索试试~ 我知道了~
VC TCP/UDPsocket通讯协议
共103个文件
svn-base:43个
dll:28个
cpp:11个
4星 · 超过85%的资源 需积分: 10 136 下载量 91 浏览量
2010-05-09
10:29:08
上传
评论 1
收藏 4.74MB RAR 举报
温馨提示
c/s模式socket通信,TCP与UDP S采用异步模式,C采用SELECT接收
资源推荐
资源详情
资源评论
收起资源包目录
VC TCP/UDPsocket通讯协议 (103个子文件)
ITM-ServiceDlg.cpp 90KB
Manage.cpp 13KB
ThreadRecv.cpp 4KB
ThreadMsg.cpp 4KB
MySocket.cpp 4KB
MySocket.cpp 4KB
Udp.cpp 3KB
ThreadRecv.cpp 2KB
Udp.cpp 2KB
Manage.cpp 1KB
ThreadSend.cpp 622B
msxml4.dll 1.18MB
mfc90u.dll 1.11MB
mfc90u.dll 1.11MB
mfc90.dll 1.1MB
mfc90.dll 1.1MB
msvcr90.dll 641KB
msvcr90.dll 641KB
msvcp90.dll 556KB
msvcp90.dll 556KB
msvcm90.dll 220KB
msvcm90.dll 220KB
atl90.dll 158KB
msxml4r.dll 81KB
MFC90DEU.dll 60KB
MFC90FRA.dll 59KB
mfcm90.dll 59KB
mfcm90.dll 59KB
mfcm90u.dll 59KB
mfcm90u.dll 59KB
MFC90ESP.dll 58KB
MFC90ITA.dll 58KB
MFC90ESN.dll 58KB
vcomp90.dll 53KB
MFC90ENU.dll 53KB
MFC90JPN.dll 46KB
MFC90KOR.dll 46KB
MFC90CHT.dll 41KB
MFC90CHS.dll 41KB
entries 2KB
entries 1KB
entries 960B
entries 651B
entries 644B
ITM-ServiceDlg.h 5KB
Manage.h 2KB
MySocket.h 849B
MySocket.h 837B
ThreadRecv.h 755B
ThreadMsg.h 736B
ThreadRecv.h 700B
ThreadSend.h 594B
Manage.h 570B
Udp.h 533B
Udp.h 434B
Microsoft.VC90.MFCLOC.manifest 5KB
Microsoft.VC90.MFC.manifest 505B
Microsoft.VC90.CRT.manifest 481B
Microsoft.VC90.OpenMP.manifest 428B
Microsoft.VC90.ATL.manifest 423B
mfc90u.dll.svn-base 1.11MB
mfc90.dll.svn-base 1.1MB
msvcr90.dll.svn-base 641KB
msvcp90.dll.svn-base 556KB
msvcm90.dll.svn-base 220KB
atl90.dll.svn-base 158KB
MFC90DEU.dll.svn-base 60KB
MFC90FRA.dll.svn-base 59KB
mfcm90.dll.svn-base 59KB
mfcm90u.dll.svn-base 59KB
MFC90ESP.dll.svn-base 58KB
MFC90ESN.dll.svn-base 58KB
MFC90ITA.dll.svn-base 58KB
MFC90ENU.dll.svn-base 53KB
vcomp90.dll.svn-base 53KB
MFC90JPN.dll.svn-base 46KB
MFC90KOR.dll.svn-base 46KB
MFC90CHT.dll.svn-base 41KB
MFC90CHS.dll.svn-base 41KB
Microsoft.VC90.MFCLOC.manifest.svn-base 5KB
Microsoft.VC90.MFC.manifest.svn-base 505B
Microsoft.VC90.CRT.manifest.svn-base 481B
Microsoft.VC90.OpenMP.manifest.svn-base 428B
Microsoft.VC90.ATL.manifest.svn-base 423B
MFC90KOR.dll.svn-base 53B
MFC90ENU.dll.svn-base 53B
MFC90ESN.dll.svn-base 53B
MFC90ESP.dll.svn-base 53B
MFC90CHS.dll.svn-base 53B
MFC90JPN.dll.svn-base 53B
MFC90CHT.dll.svn-base 53B
MFC90FRA.dll.svn-base 53B
atl90.dll.svn-base 53B
MFC90ITA.dll.svn-base 53B
vcomp90.dll.svn-base 53B
MFC90DEU.dll.svn-base 53B
mfcm90.dll.svn-base 53B
mfc90u.dll.svn-base 53B
mfc90.dll.svn-base 53B
mfcm90u.dll.svn-base 53B
共 103 条
- 1
- 2
humin11020015
- 粉丝: 4
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页