📄 serverview.cpp
字号:
if( !RIGHT(MASK_1) ) return;
DWORD dwConnectionIndex = g_pNet->ConnectToServer(m_pApp->m_ProxyIp[ m_nCurServerSet ] , m_pApp->m_ProxyPort[ m_nCurServerSet ] );
/*
if( !dwConnectionIndex )
{
char str[0xff];
sprintf(str,"Fail to connect proxyserver");
MessageBox(str,"Error",MB_OK);
return;
}
*/
m_pApp->m_nCI[ m_nCurServerSet ] = (unsigned short)dwConnectionIndex;
//Proxy Server俊 肺弊牢
MANAGER_PACKET_HEADER packet1;
packet1.wCMD = MANAGER_CLIENT_FIRST_PACKET_TYPE;
packet1.dwCRC = MANAGER_CLIENT_FIRST_PACKET_CRC;
g_pNet->Send(m_pApp->m_nCI[ m_nCurServerSet ], (char*)&packet1, sizeof(packet1));
PACKET_RM_LOGIN packet(m_pApp->m_LogInfo.ID, m_pApp->m_LogInfo.Name);
if( !g_pNet->Send(m_pApp->m_nCI[ m_nCurServerSet ], (char*)&packet,packet.GetPacketSize()) )
{
char str[0xff];
sprintf(str,"Fail to connect proxyserver");
MessageBox(str,"Error",MB_OK);
}
}
DWORD CServerView::GetConnection()
{
return m_pApp->m_nCI[ m_nCurServerSet ];
}
void CServerView::SetBaseClientSize(CTabCtrl *pCtrl)
{
CRect TabRect,ItemRect; //TabRect篮 徘 牧飘费 傈眉 康开, ItemRect篮 困俊 徘何盒父..
pCtrl->GetClientRect(&TabRect);
pCtrl->GetItemRect(0, &ItemRect);
int width,height;
width = TabRect.Width() - 10;
height = TabRect.Height() - ItemRect.Height() - 13;
m_BaseRect.left = TabRect.left + 5;
m_BaseRect.top = TabRect.top + 5 + 30/*Tab Control困俊 后沫 巢败初篮 父怒*/;
m_BaseRect.right = m_BaseRect.left + width;
m_BaseRect.bottom = m_BaseRect.top + height;
m_ServerControlDlg.m_nPrevHeight = m_BaseRect.Height();
m_ServerControlDlg.m_nPrevWidth = m_BaseRect.Width();
m_ServerStatusDlg.m_nPrevHeight = m_BaseRect.Height();
m_ServerStatusDlg.m_nPrevWidth = m_BaseRect.Width();
m_ServerPatchDlg.m_nPrevHeight = m_BaseRect.Height();
m_ServerPatchDlg.m_nPrevWidth = m_BaseRect.Width();
m_nPrevWidth = m_BaseRect.Width();
m_nPrevHeight = m_BaseRect.Height();
}
void CServerView::RemoveItemsFromAllListControl()
{
m_ServerStatusDlg.c_ListenerStatusList.DeleteAllItems();
m_ServerStatusDlg.c_MainStatusList.DeleteAllItems();
m_ServerControlDlg.c_AllList.DeleteAllItems();
m_ServerControlDlg.c_SelectList.DeleteAllItems();
m_ServerPatchDlg.c_AllList.DeleteAllItems();
m_ServerPatchDlg.c_SelectList.DeleteAllItems();
}
void CServerView::OnKeydownTabServer(NMHDR* pNMHDR, LRESULT* pResult)
{
TC_KEYDOWN* pTCKeyDown; pTCKeyDown = (TC_KEYDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
*pResult = 0;
}
void CServerView::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
UpdateData(TRUE);
m_dwCurrentTime = GetTickCount();
static int UMSMaxTime = 3; // BBD 040304 UMS 焊郴绰 冉荐
static int UMSCurTime = 0; // BBD 040304 UMS 焊辰 冉荐
if( m_bIsUMS == true )
{
//辑滚府胶飘 父甸扁
if( m_nCurServerSet == 0 ) //惑侩捞 酒聪搁 扁成 唱柯促.
if( 0 < GetServerDownList("DownList.txt") )
{
if( m_nUMSCounter < m_nUMS_FirstSendNum )
{//贸澜促款
m_nUMSCounter++;
Send2DeveloperUMS("DownList.txt", "DeveloperList.txt");
UMSCurTime++; // BBD 040304 UMS 茄锅 焊晨
}
else if( m_nUMSCounter >= m_nUMS_FirstSendNum )
{//拌加 促款吝
if( m_dwCurrentTime > m_dwLoopTime + m_dwWaitTime )
{
//<! BBD 040304 老沥冉荐父 皋矫瘤 焊郴霸 烹力
if(UMSCurTime < UMSMaxTime)
{
Send2DeveloperUMS("DownList.txt", "DeveloperList.txt" );
UMSCurTime++;
}
//> BBD 040304 老沥冉荐父 皋矫瘤 焊郴霸 烹力
m_dwLoopTime = m_dwCurrentTime;
}
}
}
}
CFormView::OnTimer(nIDEvent);
}
int CServerView::GetServerDownList( const char* szFilename)
{//促款等霸 绝栏搁 0 乐栏搁... 哪磐锅龋父
int nCount = m_ServerStatusDlg.c_MainStatusList.GetItemCount();
CString szStatus, szList;
CStdioFile csFile;
if( !csFile.Open( szFilename, CFile::modeCreate|CFile::modeWrite, NULL ) )
{
//AfxMessageBox( "ERROR :: Cann't Open File !! \n CServerView::GetServerDownList");
return 0;
}
int nDownNum = 0;
for( int i=0; i<nCount; i++)
{
szStatus = m_ServerStatusDlg.c_MainStatusList.GetItemText(i, 2 );
if( szStatus.Compare("O") != 0 && szStatus.Compare("R") != 0)
{//沥惑苞 Reload牢 版快甫 力寇窍绊绰 葛滴 辑滚促款栏肺 贸府窃.
nDownNum++;
/*
szList.Format( "%s\t%s\t%s\t%s\n", m_ServerStatusDlg.c_MainStatusList.GetItemText(i,0),
m_ServerStatusDlg.c_MainStatusList.GetItemText(i,1),
m_ServerStatusDlg.c_MainStatusList.GetItemText(i,5),
m_ServerStatusDlg.c_MainStatusList.GetItemText(i,6) );
*/
szList.Format( "%s\t%s\t%s\n", m_ServerStatusDlg.c_MainStatusList.GetItemText(i,0),
m_ServerStatusDlg.c_MainStatusList.GetItemText(i,1),
m_ServerStatusDlg.c_MainStatusList.GetItemText(i,5)
);
csFile.WriteString( szList );
//0 1 5 6
}
}
csFile.Close();
return nDownNum;
}
void CServerView::InitUMS()
{
m_nUMSCounter = 0; // 泅犁 割锅 辰绰啊?
m_nUMS_FirstSendNum = 3; // 辑滚啊 促款登磊 付磊 割锅 皋矫瘤甫 焊尘巴牢啊.
m_dwCurrentTime = GetTickCount();
m_dwLoopTime = GetTickCount();
m_dwWaitTime = LOOP_TIME * 30; //倔付甫 扁促啡促啊 促矫 UMS甫 焊郴绰啊?
}
void CServerView::OnCheckUms()
{
// TODO: Add your control notification handler code here
if( m_bIsUMS == true )
{
m_bIsUMS = false;
}
else
{
m_bIsUMS = true;
}
InitUMS();
}
void CServerView::MakeUMSMessageFull( const char* szDownList, CString& strUMSMessage)
{
_ASSERTE( szDownList != NULL);
FILE *fp;
if( !(fp = fopen( szDownList, "r")) )
{
AfxMessageBox( "ERROR :: Cann't Read File !! \n CServerView::MakeUMSMessage");
return;
}
char szToken[32];
while(EOF!=fscanf(fp, "%s",szToken) )
{
if(80 <= strUMSMessage.GetLength() )
{
fclose( fp);
strUMSMessage.Empty();
strUMSMessage.Format("DR_SERVER_DOWN ");
MakeUMSMessageMin( szDownList, strUMSMessage);
return;
}
strUMSMessage += szToken;
strUMSMessage += " ";
}
fclose(fp);
}
//void CServerView::MakeUMSMessageMin( const char* szDownList, char* strUMSMessage)
void CServerView::MakeUMSMessageMin( const char* szDownList, CString& strUMSMessage)
{
_ASSERTE( szDownList != NULL );//&& strUMSMessage != NULL);
FILE *fp;
if( !(fp = fopen( szDownList, "r")) )
{
AfxMessageBox( "ERROR :: Cann't Read File !! \n CServerView::MakeUMSMessage");
return;
}
char szToken[32];
//string szToken;
int nToken=0;
while(1)
{
memset( szToken,0, 32);//="\0";
if( EOF!=fscanf(fp, "%s",szToken) )
{
if( nToken++ == 2)
{
if( 0 > strUMSMessage.Find( szToken ) )
{
if(80 <= strUMSMessage.GetLength() )
{
fclose( fp);
strUMSMessage.Empty();
strUMSMessage.Format("DR_SERVER_DOWN!! 咯矾辑滚狼 促款!!!!!");
return;
}
strUMSMessage += szToken;
strUMSMessage += " ";
}
nToken=0;
}
}
else
{
break;
}
}
fclose(fp);
}
void CServerView::Send2DeveloperUMS( const char* szDownList, const char* szDeveloperList)
{//DownList俊 乐绰 郴侩捞 80巩磊甫 逞绢啊搁 辑滚疙父 焊辰促. 弊贰档 逞绢啊搁 扁成 Down捞扼绊父 焊辰促.
_ASSERTE( szDeveloperList != NULL && szDownList!=NULL );
CString strUMSMessage= "DR_SERVER_DOWN!! ";
MakeUMSMessageFull( szDownList, strUMSMessage);
//MakeUMSMessageMin( szDownList, strUMSMessage);
FILE *fp;
if( !(fp = fopen( szDeveloperList, "r")) )
{
AfxMessageBox( "ERROR :: Cann't Read File !! \n CServerView::SendUMSMessage");
return;
}
char szToken[32]; //
char szUserInfo[4][32];
int nToken=0;
while(EOF!=fscanf(fp, "%s",szToken) )
{
memset( szUserInfo[nToken], 0, 32 );
strncpy(szUserInfo[nToken++], szToken, sizeof( szToken ) );
if( nToken > 3 )
{
SendUMSMessage(szUserInfo[0],szUserInfo[1],szUserInfo[2],szUserInfo[3],strUMSMessage.GetBuffer(0));
nToken=0;
}
}
fclose(fp);
}
void CServerView::Send2DeveloperUMSOnly(char* strUMSMessage, const char* szDeveloperList)
{
FILE *fp;
if( !(fp = fopen( szDeveloperList, "r")) )
{
AfxMessageBox( "ERROR :: Cann't Read File !! \n CServerView::SendUMSMessage");
return;
}
char szToken[32]; //
char szUserInfo[4][32];
int nToken=0;
while(EOF!=fscanf(fp, "%s",szToken) )
{
memset( szUserInfo[nToken], 0, 32 );
strncpy(szUserInfo[nToken++], szToken, sizeof( szToken ) );
if( nToken > 3 )
{
SendUMSMessage(szUserInfo[0],szUserInfo[1],szUserInfo[2],szUserInfo[3],strUMSMessage);
nToken=0;
}
}
fclose(fp);
}
void CServerView::SendUMSMessage( char* szPhone1,char* szPhone2,char* szPhone3, char* szName, char* szMessage)
{
if( 4<strlen(szPhone1)||4<strlen(szPhone2)||4<strlen(szPhone3)||32<strlen(szName)||80<strlen(szMessage) )
{
return;
}
//::MessageBoxPrintf( 0, "%s-%s-%s %s msg: %s",szPhone1, szPhone2, szPhone3, szName, szMessage);
//return;
int nRet = SMSUnitSend ("esofnet", //荤侩磊ID (30)
"俺惯评", //荤侩磊疙 (16)
"UK-IDW-WH", //雀荤内靛
"捞家橇齿", //雀荤疙 (逞滚盔 雀盔老版快 password)
"02", //雀脚锅龋1 (4)
"574", //雀脚锅龋2 (4)
"0498", //雀脚锅龋3 (4)
szName, //荐脚磊疙 (32)
szPhone1, //龋免锅龋1 (4)
szPhone2, //龋免锅龋2 (4)
szPhone3, //龋免锅龋3 (4)
szMessage, //皋矫瘤 (80)
"00000000", //抗距老磊(YYYYMMDD) (8)
"000000", //抗距矫埃(HHMMSS) (6)
300); //老访锅龋 long
LeaveLogInFile("AMS Message Result = %d", nRet );
/*
int nRet = SMSUnitSend ("esofnet", //荤侩磊ID (30)
"款康评", //荤侩磊疙 (16)
"UK-IDW-WH", //雀荤内靛
"捞家橇齿", //雀荤疙 (逞滚盔 雀盔老版快 password)
"019", //雀脚锅龋1 (4)
"533", //雀脚锅龋2 (4)
"4916", //雀脚锅龋3 (4)
"咯矾盒", //荐脚磊疙 (32)
"019", //龋免锅龋1 (4)
"533", //龋免锅龋2 (4)
"4916", //龋免锅龋3 (4)
"呈 瘤阿窍绰芭 酒衬? 逞 蠢膊埃芭啊瓢叼..", //皋矫瘤 (80)
"00000000", //抗距老磊(YYYYMMDD) (8)
"000000", //抗距矫埃(HHMMSS) (6)
300); //老访锅龋 long
switch(nRet)
{
case 1 : //龋免己傍
AfxMessageBox("SMS 窜焊傈价己傍");
break;
case 80 : //捞烹荤锅龋 捞惑
AfxMessageBox("SMS 窜焊傈价角菩 [捞烹荤锅龋捞惑]");
break;
case 78 : //惫锅 肚绰 缔4磊府 捞惑
AfxMessageBox("SMS 窜焊傈价角菩 [惫锅 or 缔4磊府 捞惑]");
break;
case 73 : //固殿废 雀盔
AfxMessageBox("SMS 窜焊傈价角菩 [固殿废 雀盔]");
break;
case 68 : //绊按荤 内靛 捞惑
AfxMessageBox("SMS 窜焊傈价角菩 [绊按荤 内靛 捞惑]");
break;
case 77 : //龋免皋矫瘤 郴侩 绝澜
AfxMessageBox("SMS 窜焊傈价角菩 [皋矫瘤绝澜]");
break;
case 84 : //抗距老磊 捞惑
AfxMessageBox("SMS 窜焊傈价角菩 [抗距老磊 捞惑]");
break;
case 82 : //700, 800 陛瘤 诀眉
AfxMessageBox("SMS 窜焊傈价角菩 [700, 800 陛瘤诀眉]");
break;
case 67 : //儡咀 何练
AfxMessageBox("SMS 窜焊傈价角菩 [儡咀 何练]");
break;
case 85 : //龋免 URL 绝澜
AfxMessageBox("SMS 窜焊傈价角菩 [龋免 URL 绝澜]");
break;
case 99 : //扁鸥
AfxMessageBox("SMS 窜焊傈价角菩 [扁鸥1]");
break;
case -1 :
AfxMessageBox("匙飘况农 惑怕捞惑1");
break;
case -2 :
AfxMessageBox("匙飘况农 惑怕捞惑2");
break;
case -3 :
AfxMessageBox("匙飘况农 惑怕捞惑3");
break;
case -4 :
AfxMessageBox("匙飘况农 惑怕捞惑4");
break;
case -5 :
AfxMessageBox("匙飘况农 惑怕捞惑5");
break;
case -6 :
AfxMessageBox("匙飘况农 惑怕捞惑6");
break;
default:
AfxMessageBox("SMS 窜焊傈价角菩 [扁鸥2]");
break;
}
*/
}
BOOL CServerView::DestroyWindow()
{
// TODO: Add your specialized code here and/or call the base class
KillTimer(ID_UMS);
return CFormView::DestroyWindow();
}
void CServerView::SendUMS_ProxyServerDown()
{
Send2DeveloperUMSOnly("DR_SERVE_DOWN Proxy ServerDown!!!!!!!", "DeveloperList.txt");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -