📄 devclientsocket.cpp
字号:
// DevClientSocket.cpp: implementation of the CDevClientSocket class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "VSMSCNEW.h"
#include "DevClientSocket.h"
#include "Global.h"
#include "DataDef.h"
#include "ConstDef.h"
#include "DevLinkManager.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDevClientSocket::CDevClientSocket()
{
ZeroMemory(m_szSim,sizeof(m_szSim));
bNewSocket=TRUE;
}
CDevClientSocket::~CDevClientSocket()
{
bNewSocket=FALSE;
}
BOOL CDevClientSocket::OnDisconnect()
{
bNewSocket=FALSE;
g_pDevLinkManager->ReMoveDev(this);
return TRUE;
}
//接收消息函数
BOOL CDevClientSocket::ReceiveMsg(char pszBuf[],UINT puBufLen,UINT puCommandID,UINT puSequenceID)
{
switch(puCommandID)
{
case DEV_CONNECT:
{
ZeroMemory(m_szDevName,sizeof(m_szDevName));
ZeroMemory(m_szSim,sizeof(m_szSim));
STRUCT_DEV_CONNECT* pConnect=(STRUCT_DEV_CONNECT*)pszBuf;
STRUCT_DEV_HEADER s_ConRep;
ZeroMemory(&s_ConRep,sizeof(STRUCT_DEV_HEADER));
strncpy(m_szSim,pConnect->szSimNo,21);
strncpy(m_szDevName,pConnect->szDevname,16);
s_ConRep.command_id=DEV_CONNECT_REP;
s_ConRep.command_length=SM_MESSAGE_HEAD_SIZE;
s_ConRep.sequence_no=pConnect->sHeader.sequence_no;
if(!g_pDevLinkManager->AddDev(this))
{
s_ConRep.command_status =DEV_CONNECT_ERROR;
SendMsg((char*)&s_ConRep,SM_MESSAGE_HEAD_SIZE);
Sleep(1000);
closesocket(m_hSocket);
}else
s_ConRep.command_status =SUCCESS;
SendMsg((char*)&s_ConRep,SM_MESSAGE_HEAD_SIZE);
}break;
case DEV_DELIVER:
{
char szMsg[256];
sprintf(szMsg,"收到设备(SIM_NO:%s)Deliver消息",m_szSim);
AddToMsgLog(szMsg);
STRUCT_DEV_DELIVER* pDeliver=(STRUCT_DEV_DELIVER*)pszBuf;
g_pDevLinkManager->SendToESMC(*pDeliver);
}
break;
case DEV_LINKTEST:
{
STRUCT_DEV_HEADER* pheader=(STRUCT_DEV_HEADER*)pszBuf;
STRUCT_DEV_HEADER sLinkTest;
ZeroMemory(&sLinkTest,sizeof(STRUCT_DEV_HEADER));
sLinkTest.command_id=DEV_LINKTEST_REP;
sLinkTest.command_length=SM_MESSAGE_HEAD_SIZE;
sLinkTest.sequence_no=pheader->sequence_no;
SendMsg((char*)&sLinkTest,SM_MESSAGE_HEAD_SIZE);
}
case DEV_LINKTEST_REP:
break;
case DEV_DISC:
{
char szmsg[1024];
ZeroMemory(szmsg,sizeof(szmsg));
sprintf("%s(SIM_NO:%s)请求断开",m_szDevName,m_szSim);
AddToMsgLog(szmsg);
g_pDevLinkManager->ReMoveDev(this);
}
}
return TRUE;
}
BOOL CDevClientSocket::SendToESMC(STRUCT_DEV_DELIVER &sDev_Deliver)
{
return g_pDevLinkManager->SendToESMC(sDev_Deliver);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -