📄 netcommanger.cpp
字号:
str = str + "f";
//自动车型
if(m_dData_Use.command==4)
{
char buffer[2];
_itoa(m_dData_Use.type,buffer,10);
str = str + "0" +buffer ;
}
else
{
str=str + "ff";
}
//bakestr
str = str + "f" ;
m_pNetSocket->Send(str,str.GetLength());
}
void CNetComManger::SecondDuty()
{
if (m_pNetSocket)//WinSock通信类变量,send发送成功返回该变量为真
{
}
else
{
if (!(m_pNetSocket = ConnectToServer(g_Server_Ip_Address,g_Server_Port)))
{
// AfxMessageBox("connecttoserver") ;
m_BClose = false ;
m_BCloseTime = false ;
delete m_pNetSocket ;
m_pNetSocket = NULL;//hyh 2001.09.26
return ;
}
}
if(m_pNetSocket->IsBlocking())
{
// AfxMessageBox("IsBlocking") ;
m_BCloseTime = false;
m_pNetSocket->CancelBlockingCall() ;
return;
}
m_BClose = true ;
m_BCloseTime = false ;
Data_01 SendData;
Build_StatuData(&SendData);
CString str,str1;
static _int64 sernum=0;//比较序列号hm 9.24
str += "T";
str1.Format("%s",SendData.name);
for(int i = str1.GetLength() ; i< 8 ; i++)
str1 = str1 + " ";
str = str + str1;
str1.Format("%.2d",SendData.lane);
str =str + str1;
str1.Format("%.4d",SendData.year);
str = str + str1;
str1.Format("%.2d",SendData.month);
str = str + str1;
str1.Format("%.2d",SendData.day);
str = str + str1;
str1.Format("%.2d",SendData.hour);
str = str + str1;
str1.Format("%.2d",SendData.min);
str = str + str1;
str1.Format("%.2d",SendData.sec);
str = str + str1;
str = str + SendData.bfh;
str = str + SendData.gonghao;
str = str + SendData.chexing;
str = str + SendData.Feie;
str = str + SendData.piaohao;
str = str + SendData.gongban;
str = str + SendData.xuliehao;
//顶棚红
if(SendData.BTopRed)
str = str + "t";
else
str = str + "f";
//顶棚绿
if(SendData.BTopGreen)
str = str + "t";
else
str = str + "f";
//车道红
if(SendData.BLaneRed)
str = str + "t";
else
str = str + "f";
//车道绿
if(SendData.BLaneGreen)
str = str + "t";
else
str = str + "f";
//杆起
if(SendData.BBarUp)
str = str + "t";
else
str = str + "f";
//杆落
if(SendData.BBarDown)
str = str + "t";
else
str = str + "f";
//线圈
if(SendData.BLoop)
str = str + "t";
else
str = str + "f";
//手动栏杆
if(SendData.BBAK1)
str = str + "t";
else
str = str + "f";
//上班状态
if(SendData.BBAK2)
str = str + "t";
else
str = str + "f";
//is_now_data
if(SendData.BBAK3)
str = str + "t";
else
str = str + "f";
//自动车型
str = str + "ff";
//bakestr
str = str + "f" ;
// if(sernum!=m_dData_Use.record_ID)//保证界面只发送一次
{
m_pNetSocket->Send(str,str.GetLength());
sernum=m_dData_Use.record_ID;
}
}
void CNetComManger::Build_StatuData(Data_01 * Data)
{
CTime Time = CTime::GetCurrentTime();
g_nCommand = 1 ;
Data->command = g_nCommand;
Data->lane = g_Lane_No ;
memcpy(Data->name,g_nManName.GetBuffer(20),20);
Data->hour = Time.GetHour(); Data->min = Time.GetMinute(); Data->sec = Time.GetSecond();
Data->year = Time.GetYear(); Data->month = Time.GetMonth(); Data->day = Time.GetDay();
//wangyu
for (int i0 = g_nBfh.GetLength() ;i0 <2 ;i0 = i0 +1)
g_nBfh = "0" + g_nBfh ;
Data->bfh = g_nBfh;
for ( int i1 = g_nManNum.GetLength() ;i1 < 8 ;i1 = i1 + 1)
g_nManNum = "0"+g_nManNum ;
Data->gonghao = g_nManNum;
for (int i2 = g_nCheXing.GetLength() ;i2 <2 ; i2 = i2 +1)
g_nCheXing = "0" +g_nCheXing ;
Data->chexing = g_nCheXing ;
for (int i3 = g_nFeie.GetLength() ; i3 < 4 ; i3 = i3 +1)
g_nFeie = "0" + g_nFeie ;
Data->Feie = g_nFeie;
for (int i4 = g_nTicketNum.GetLength() ;i4 <10 ;i4 = i4 +1)
g_nTicketNum = "0"+g_nTicketNum ;
Data->piaohao = g_nTicketNum;
for (int i5 = g_nGongBan.GetLength() ;i5 <2 ;i5 = i5 +1)
g_nGongBan = "0" + g_nGongBan ;
Data->gongban = g_nGongBan ;
for (int i6 = g_nXuLieHao.GetLength() ;i6 <15 ;i6 = i6 +1)
g_nXuLieHao = "0" + g_nXuLieHao ;
Data->xuliehao = g_nXuLieHao ;
//wangyu
Data->BBAK1 = false;
Data->BBAK2 = g_BBAK2;
Data->BBAK3 = false;
Data->BBarDown = g_BBarDown;
Data->BBarUp = g_BBarUp;
Data->BLaneGreen = g_BLaneGreen;
Data->BLaneRed = g_BLaneRed;
Data->BLoop = g_BLoop;
Data->BTopGreen = g_BTopGreen;
Data->BTopRed = g_BTopRed;
/*
a = m_nHard;
for(int i = 0; i < 8 ; i++)
{
work = a & 0x1;
switch (i)
{
case 0:
if(work == 1)
Data->BLaneGreen = true;
else
Data->BLaneRed = true;
break;
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
case 7:
break;
}
a >>= 1;
}
a = m_nInput;
for(i = 0; i < 8 ; i++)
{
work = a & 0x1;
switch (i)
{
case 0:
break;
case 1:
break;
case 2:
if(work == 1)
Data->BBarUp = true;
break;
case 3:
if(work == 1)
Data->BBarDown = true;
break;
case 4:
break;
case 5:
break;
case 6:
break;
case 7:
break;
}
}
a >>= 1;
*/
}
CNetSocketTxj * CNetComManger::ConnectToTxj(LPCTSTR lpszHostAddress, UINT nHostPort)
{
CNetSocketTxj * pNetSocketTxj = new CNetSocketTxj(this);
if(!(pNetSocketTxj->Create()))
{
m_BCloseTxjTime = false ;
delete pNetSocketTxj;
pNetSocketTxj = NULL; //hyh 2001.09.26
return NULL;
}
if(!pNetSocketTxj->Connect(lpszHostAddress,nHostPort))
{
m_BCloseTxjTime = false ;
delete pNetSocketTxj;
pNetSocketTxj = NULL;//hyh 2001.09.26
return NULL;
}
return pNetSocketTxj;
}
void CNetComManger::TxjSecondDuty()
{
if (m_pNetSocketTxj)
{
}
else
{
if (!(m_pNetSocketTxj = ConnectToTxj(g_Txj_Ip_Address,g_Txj_Port)))
{
m_BCloseTxjTime = false ;
delete m_pNetSocketTxj ;
m_pNetSocketTxj = NULL;//hyh 2001.09.26
return ;
}
}
if(m_pNetSocketTxj->IsBlocking())
{
m_BCloseTxjTime =false ;
m_pNetSocketTxj->CancelBlockingCall() ;
return;
}
m_BCloseTxjTime =false ;
Data_01 SendData;
Build_StatuData(&SendData);
CString str,str1;
str += "T";
str1.Format("%s",SendData.name);
for(int i = str1.GetLength() ; i< 8 ; i++)
str1 = str1 + " ";
str = str + str1;
str1.Format("%.2d",SendData.lane);
str =str + str1;
str1.Format("%.4d",SendData.year);
str = str + str1;
str1.Format("%.2d",SendData.month);
str = str + str1;
str1.Format("%.2d",SendData.day);
str = str + str1;
str1.Format("%.2d",SendData.hour);
str = str + str1;
str1.Format("%.2d",SendData.min);
str = str + str1;
str1.Format("%.2d",SendData.sec);
str = str + str1;
str = str + SendData.bfh;
str = str + SendData.gonghao;
str = str + SendData.chexing;
str = str + SendData.Feie;
str = str + SendData.piaohao;
str = str + SendData.gongban;
str = str + SendData.xuliehao;
// str = str + g_nXuLieHao;
//顶棚红
if(SendData.BTopRed)
str = str + "t";
else
str = str + "f";
//顶棚绿
if(SendData.BTopGreen)
str = str + "t";
else
str = str + "f";
//车道红
if(SendData.BLaneRed)
str = str + "t";
else
str = str + "f";
//车道绿
if(SendData.BLaneGreen)
str = str + "t";
else
str = str + "f";
//杆起
if(SendData.BBarUp)
str = str + "t";
else
str = str + "f";
//杆落
if(SendData.BBarDown)
str = str + "t";
else
str = str + "f";
//线圈
if(SendData.BLoop)
str = str + "t";
else
str = str + "f";
//手动栏杆
if(SendData.BBAK1)
str = str + "t";
else
str = str + "f";
//上班状态
if(SendData.BBAK2)
str = str + "t";
else
str = str + "f";
//is_now_data
if(SendData.BBAK3)
str = str + "t";
else
str = str + "f";
//自动车型
str = str + "ff";
//bakestr
str = str + "f" ;
m_pNetSocketTxj->Send(str,str.GetLength());
}
void CNetComManger::TxjnetSendMsg(Data_Use *pMsg, int nLength)
{
static int SecondCount1 = 0;
memcpy((char *)&m_dData_Use,(char *)pMsg,sizeof(Data_Use));
if(m_pNetSocketTxj)
{
}
else
{
return;
}
if(m_pNetSocketTxj->IsBlocking())
{
m_pNetSocketTxj->CancelBlockingCall() ;
return;
}
Data_01 SendData;
Build_StatuData(&SendData);
CString str,str1;
str += m_TxjRead ;
if (m_TxjRead == "Z")
{
str = m_TxjSBYChexing ;
}
else
{
str1.Format("%s",m_dData_Use.name);
for(int i = str1.GetLength() ; i< 8 ; i++)
str1 += " ";
str += str1;
str1.Format("%.2d",SendData.lane);
str += str1;
str1.Format("%.4d",m_dData_Use.year);
str += str1;
str1.Format("%.2d",m_dData_Use.month);
str += str1;
str1.Format("%.2d",m_dData_Use.day);
str += str1;
str1.Format("%.2d",m_dData_Use.hour);
str += str1;
str1.Format("%.2d",m_dData_Use.min);
str += str1;
str1.Format("%.2d",m_dData_Use.sec);
str += str1;
str = str + SendData.bfh ;
str1.Format("%.8d",m_dData_Use.man_NO);
str += str1;
str1.Format("%.2d",m_dData_Use.vehcile_type);
str += str1;
str1.Format("%.4d",m_dData_Use.fee);
str += str1;
str1.Format("%.10d",m_dData_Use.ticket_NO);
str += str1;
str1.Format("%.2d",m_dData_Use.work_class);
str += str1;
str1.Format("%15d",m_dData_Use.record_ID);
str += str1;
if(SendData.BTopRed)
str += "t";
else
str += "f";
if(SendData.BTopGreen)
str += "t";
else
str += "f";
if(SendData.BLaneRed)
str += "t";
else
str += "f";
if(SendData.BLaneGreen)
str += "t";
else
str += "f";
if(SendData.BBarUp)
str += "t";
else
str += "f";
if(SendData.BBarDown)
str += "t";
else
str += "f";
if(SendData.BLoop)
str += "t";
else
str += "f";
//
//手动栏杆
if(SendData.BBAK1)
str = str + "t";
else
str = str + "f";
//上班状态
if(SendData.BBAK2)
str = str + "t";
else
str = str + "f";
//is_now_data
if(SendData.BBAK3)
str = str + "t";
else
str = str + "f";
//自动车型
str = str + "00";
//bakestr
str = str + "f" ;
}
m_pNetSocketTxj->Send(str,str.GetLength());
}
void CNetComManger::OnConnectClose()
{
if(m_pNetSocket)
{
delete m_pNetSocket ;
m_pNetSocket = NULL ;
}
else
{
}
}
void CNetComManger::OnConnectCloseTxj()
{
if(m_pNetSocketTxj)
{
delete m_pNetSocketTxj ;
m_pNetSocketTxj = NULL ;
}
else
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -