--- trunk/H7 Server/TcpClientClass.cpp 2007/01/31 17:05:15 32 +++ trunk/H7 Server/TcpClientClass.cpp 2007/01/31 17:22:59 33 @@ -6,8 +6,11 @@ #include "Resource.h" #include "H7 serverDlg.h" +#include + TcpClientClass::TcpClientClass(void) { + isClosed = false; } TcpClientClass::~TcpClientClass(void) @@ -18,8 +21,8 @@ { // MessageBox(0,"OnReceive","",MB_OK); - int size = 1023; - char Buffer[1023]; + int size = 4096; + char Buffer[4096]; CString Buff; size = TcpClientClass::Receive(Buffer, size -1); @@ -28,28 +31,116 @@ CH7ServerDlg* parent = (CH7ServerDlg*) AfxGetMainWnd(); - - switch( atoi(Buff) ) + CString debug; + debug.Format("%d\n",atoi(Buff)); + OutputDebugString( debug ); + + try{ + switch( atoi(Buff) ) + { + case 110: + parent->H7Serial.writeTarget(LED3,OFF); + break; + case 111: + parent->H7Serial.writeTarget(LED3,ON); + break; + case 120: + parent->H7Serial.writeTarget(LED4,OFF); + break; + case 121: + parent->H7Serial.writeTarget(LED4,ON); + break; + case 130: + parent->H7Serial.writeTarget(LED5,OFF); + break; + case 131: + parent->H7Serial.writeTarget(LED5,ON); + break; + case 100: + SendReply(); // <-- + break; + } + Sleep(10); + parent->UpdateClient(); + } + catch (std::exception e) { - case 110: - parent->H7Serial.writeTarget(LED3,OFF); - break; - case 111: - parent->H7Serial.writeTarget(LED3,ON); - break; - case 120: - parent->H7Serial.writeTarget(LED4,OFF); - break; - case 121: - parent->H7Serial.writeTarget(LED4,ON); - break; - case 130: - parent->H7Serial.writeTarget(LED5,OFF); - break; - case 131: - parent->H7Serial.writeTarget(LED5,ON); - break; + CString msg; + msg.Format("%d : %s", atoi(Buff), e.what() ); + MessageBox(0, msg, "", MB_OK); } - + CSocket::OnReceive(nErrorCode); } + +void TcpClientClass::SendReply(void) +{ + CH7ServerDlg* parent = (CH7ServerDlg*) AfxGetMainWnd(); + + CString output; + short Tmp; + CString format; + const int timer = 10; + +Sleep(timer); + Tmp = parent->H7Serial.readTarget(0); + if( Tmp == 0 ) + output = "110|"; + else if( Tmp == 1) + output = "111|"; + Send(output,output.GetLength(),0); + +Sleep(timer); + + Tmp = parent->H7Serial.readTarget(1); + if( Tmp == 0 ) + output = "120|"; + else if( Tmp == 1) + output = "121|"; + Send(output,output.GetLength(),0); + +Sleep(timer); + + Tmp = parent->H7Serial.readTarget(2); + if( Tmp == 0 ) + output = "130|"; + else if( Tmp == 1) + output = "131|"; + Send(output,output.GetLength(),0); +Sleep(timer); + + Tmp = parent->H7Serial.readTarget(3); + if( Tmp == 0 ) + output = "140|"; + else if( Tmp == 1 ) + output = "141|"; + Send(output,output.GetLength(),0); +Sleep(timer); + + Tmp = parent->H7Serial.readTarget(4); + if( Tmp == 0 ) + output = "150|"; + else if( Tmp == 1 ) + output = "151|"; + Send(output,output.GetLength(),0); +Sleep(timer); + + Tmp = parent->H7Serial.readTarget(5); + Tmp += 2000; + format.Format("%d|",Tmp); + Send(format,format.GetLength(),0); +Sleep(timer); + + Tmp = parent->H7Serial.readTarget(6); + Tmp += 4000; + format.Format("%d|",Tmp); + Send(format,format.GetLength(),0); +Sleep(timer); +} + +void TcpClientClass::OnClose(int nErrorCode) +{ + isClosed = true; + + CSocket::OnClose(nErrorCode); +}