亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? client.cpp

?? 中間件編程,該程序用于傳輸客戶端數據到服務器,可運行于WINDOWS2000,2003,XP,98等系統
?? CPP
字號:
// client.cpp : Defines the class behaviors for the application.
//
#include "stdafx.h"
#include "dos.h"

#include "client.h"
#include "mainfrm.h"
#include "doc.h"
#include "view.h"
#include <direct.h>


#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
const int RECVLEN  = 300;
DatabaseID m_DbId;
ConnString m_ConnString;

/////////////////////////////////////////////////////////////////////////////
// CClientApp
BEGIN_MESSAGE_MAP(CClientApp, CWinApp)
	//{{AFX_MSG_MAP(CClientApp)
	ON_COMMAND(IDM_SOCKCONFIG, OnSockconfig)
	ON_UPDATE_COMMAND_UI(ID_SENDDATA, OnUpdateSenddata)
	//}}AFX_MSG_MAP
	// Standard file based document commands
	ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
	ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CClientApp construction

CClientApp::CClientApp()
{      
	m_CurView=NULL; 
}

/////////////////////////////////////////////////////////////////////////////
// The one and only CClientApp object

CClientApp NEAR theApp;

/////////////////////////////////////////////////////////////////////////////
// CClientApp initialization

BOOL CClientApp::InitInstance()
{
	CString szDEVINI;
	char buf[300];
	
	_getcwd(buf,sizeof(buf));
	szDEVINI = buf;
	szDEVINI += "\\NNDEV.INI";
	char szIpaddress[20];
	if (!AfxSocketInit())
	{
		AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
		return FALSE;
	}
    /*
	int dbrec = 0;
    char szDSN[20]; char szUID[20]; char szPWD[20];
    sprintf(szDSN,"%s","ds_its");
    sprintf(szPWD,"%s","informix");
    sprintf(szUID,"%s","informix");
    m_ConnString.m_servername=(unsigned char*)szDSN;
    m_ConnString.m_pwd=(unsigned char*)szPWD;
    m_ConnString.m_uid=(unsigned char*)szUID;
    
	dbrec=OpenDBS(&m_DbId,m_ConnString);
    if(dbrec!=0)
	{
     CloseDBS(&m_DbId);
     ::AfxMessageBox("車道數據庫未連上,請重新啟動工控機。");
     _exit(1);
	}
    */  
	SetDialogBkColor(RGB(255,0,0),RGB(192,192,192));        // Set dialog background color to gray
	
	m_LocalPort = GetPrivateProfileInt("CLIENTDEV","INPORT",701,szDEVINI);  //本地PORT
	
	if(!m_LocalPort)
	{
		AfxMessageBox(IDP_INI_FILE_ERR);
		return FALSE;
	}  
	m_RemotePort = GetPrivateProfileInt("CLIENTDEV","OUTPORT",702,szDEVINI);  //中心PORT
	m_CenQueuePort = GetPrivateProfileInt("CLIENTDEV","CENQUEUEPORT",3100,szDEVINI);
	m_CenMainPort = GetPrivateProfileInt("CLIENTDEV","CENMAINPORT",3000,szDEVINI);
	
	if(!m_RemotePort)
	{
		AfxMessageBox(IDP_INI_FILE_ERR);
		return FALSE;	
	}
	int len = strlen(szIpaddress);
	GetPrivateProfileString("CLIENTDEV","OUTHOST","",szIpaddress,sizeof(szIpaddress),szDEVINI);
	m_RemoteHost = szIpaddress;  //得到站服務器IP
	
	GetPrivateProfileString("CLIENTDEV","OUTCENT","",szIpaddress,sizeof(szIpaddress),szDEVINI);
	m_CenterHost = szIpaddress;  //得到中心服務器IP
	
	CSingleDocTemplate* pDocTemplate;
	pDocTemplate = new CSingleDocTemplate(
		IDR_MAINFRAME,
		RUNTIME_CLASS(CClientDoc),
		RUNTIME_CLASS(CMainFrame),     // main SDI frame window
		RUNTIME_CLASS(CClientView));
	AddDocTemplate(pDocTemplate);
	
	OnFileNew();

	if (m_lpCmdLine[0] != '\0')
	{
	}
    ASSERT(m_CurView!=NULL);
	m_CurView->m_LocalPort=m_LocalPort;             //本地PORT
	m_CurView->m_RemotePort=m_RemotePort;           //遠端PORT
	m_CurView->m_RemoteHost=m_RemoteHost;           //遠端IP
	m_CurView->UpdateData(0); //顯示地址
	
	//m_ProtocolEntity=new CCSEntity(m_LocalPort,m_RemotePort,m_RemoteHost,1);

	m_CenterEntity = new CCSEntity(m_LocalPort,m_CenQueuePort,m_CenMainPort,m_CenterHost,2); 


	int LaneNo;
	int TollHouse;
	char Description[30];
	
	CString szWayInfoIni;
	szWayInfoIni = buf;
	szWayInfoIni += "\\LANEINFO.INI";
	LaneNo = GetPrivateProfileInt("WayInfo","LineNum",10,szWayInfoIni);  //車道號
	ASSERT(LaneNo);
	TollHouse = GetPrivateProfileInt("WayInfo","ThisToll",10,szWayInfoIni); //本站名
	GetPrivateProfileString ("WinInfo","Station","NONE",Description,sizeof(Description),szWayInfoIni);
	
	//m_ProtocolEntity->SetLaneData(LaneNo,TollHouse,1,Description);
	m_CenterEntity->SetLaneData(LaneNo,TollHouse,2,Description);
	/*
	if(!m_ProtocolEntity->Init()){
		AfxMessageBox("Local Protocol Entity create failed!");
		delete m_ProtocolEntity;
		return FALSE;
	}
	*/
	if(!m_CenterEntity->Init())
	{
		AfxMessageBox("Center Protocol Entity create failed!");
		delete m_CenterEntity;
		return FALSE;
	}

	//Link(m_ProtocolEntity,1);                        
	Link(m_CenterEntity,1);
	
	//m_ListenSock=new CLocalConnectSocket(this,szDEVINI,1);	
    m_CenterListenSock = new CLocalConnectSocket(this,szDEVINI,2);	
	/*
	if(!m_ListenSock->Create()){
	 	AfxMessageBox("Service receive socket initialization failed!");
	 	return FALSE;
	}
	*/
	if(!m_CenterListenSock->Create()){
	 	AfxMessageBox("Service receive socket initialization failed!");
	 	return FALSE;
	}
	return TRUE;
}

/////////////////////////////////////////////////////////////////////////////
// CClientApp commands
void CClientApp::AddLog(const char *LogString)
{
	if(m_CurView!=NULL)
		m_CurView->AddLog(LogString);
}

void CClientApp::AddSubLog(const char *LogString)
{
	if(m_CurView!=NULL)
		m_CurView->AddSubLog(LogString);
}

int CClientApp::ExitInstance()
{                   
	//delete m_ProtocolEntity;
	
	delete m_CenterEntity;
	/*
	if(m_ListenSock)
	{
		m_ListenSock->Close();
		delete m_ListenSock;    
	}
	*/
	if(m_CenterListenSock)
	{
		m_CenterListenSock->Close();
		delete m_CenterListenSock;    
	}
    //CloseDBS(&m_DbId);
    return 0;
}

void CClientApp::OnSockconfig()
{
	m_CurView->UpdateData(1);	
	m_LocalPort=m_CurView->m_LocalPort;
	m_RemotePort=m_CurView->m_RemotePort;
	m_RemoteHost=m_CurView->m_RemoteHost;
	//m_ProtocolEntity->ConfigSock(m_LocalPort,m_RemotePort,m_RemoteHost);	
}

/*
void CClientApp::OnReceiveServiceRequest(const char *RequestBuf,WORD RequestLen)
{   
	if(!strcmp(RequestBuf,"{}"))
	{
		m_ClientSock->Close();
		m_ClientSock = NULL;
		m_bClose = TRUE;
		return;	
	}
	
	Send(RequestBuf,RequestLen);
}
*/

BOOL CClientApp::Send(const void *OutBuffer,int OutBufferLen)
{
	//interpret the buffer and send
	//
	//
	//
	//
	
	//                         
	//for test only
	BOOL Reply;       
	BOOL Critical;
//	char *tmpbuf;
//	memcpy(tmpbuf,(char*)OutBuffer,sizeof(OutBuffer));
//    tmpbuf = (char*)OutBuffer;
/*
 if(*((char*)OutBuffer)=='{')
 {	
	if(*((char *)OutBuffer+1)=='A'){
		Reply=FALSE;                
		Critical=TRUE;
	}	
	else if(*((char *)OutBuffer+1)=='B'){
		Reply=FALSE;                
		Critical=FALSE;
	}	
	else if(*((char *)OutBuffer+1)=='C'){
		Reply=TRUE;                
		Critical=TRUE;
	}	
	else if(*((char *)OutBuffer+1)=='D'){
		Reply=TRUE;                
		Critical=FALSE;
	}
	else{
	return FALSE;
#ifdef _DEBUG
	AfxMessageBox("Invalidate data to send");
	return FALSE;
#endif
	}		
	if(m_ProtocolEntity->Send(this,OutBuffer,OutBufferLen,Critical,Reply))
		return TRUE;
	else
		return FALSE;
 }
*/
 if(*((char*)OutBuffer)=='0')
 {
    char type[2];
	int PacketType, RequestType;
	
	memset(type,'\0',sizeof(type));
    memcpy(type,(char*)OutBuffer,2);
	PacketType=atoi(type);
	
	memset(type,'\0',sizeof(type));
	memcpy(type,(char*)OutBuffer+12,2);
	RequestType=atoi(type);
    if((PacketType == 0)&&(RequestType < 4))
	{
		Reply=FALSE;                
		Critical=TRUE;
	}
    else if((PacketType == 4)&&(RequestType == 4))
	{
		Reply=TRUE;                
		Critical=TRUE;
	}
	else if((PacketType == 0)&&(RequestType == 4))
	{
	    Reply = FALSE;
		Critical = FALSE;
	}
	else{
	return FALSE;
#ifdef _DEBUG
	AfxMessageBox("Invalidate data to send");
	return FALSE;
#endif
	}		
	if(m_CenterEntity->Send(this,OutBuffer,OutBufferLen,Critical,Reply))
		return TRUE;
	else
		return FALSE;

 }
 return FALSE;
}

void CClientApp::OnReply(UINT32 SequenceNum,const void *InBuffer,int InBufLen,unsigned long Delay,int Error)
{/*    
  int userid;
  userid = GetId();
  //if(GetId()==1)
  {
	if(!Error){
		ASSERT(InBufLen!=0); 
		char *CharBuf=(char *)InBuffer;
		if(CharBuf[1]=='D' && CharBuf[2]=='A'){
			SetCMOSTimer(CharBuf);
			return;
		}		
		if(m_ListenSock)
			m_ListenSock->RequestReply((const char *)InBuffer,InBufLen);	
	}
	else
	{                      
		CString ErrorStr="{E:";
		char tmpstr[10];
		sprintf(tmpstr,"%d}",Error);
		ErrorStr+=tmpstr;
		if(m_ListenSock)
			m_ListenSock->RequestReply(ErrorStr,ErrorStr.GetLength()+1);
	}
  }
  */
}

void CClientApp::OnUpdateSenddata(CCmdUI* pCmdUI)
{               
}

void CClientApp::SetCMOSTimer(const  char *InBuffer)
{
                               
	SYSTEMTIME SystemTime;
/*                              
	struct _dosdate_t Date;                             
	struct _dostime_t Time;
	memset(&Date,0,sizeof(Date));
	memset(&Time,0,sizeof(Time));
*/	

	char tmpbuf[10];
	int pos=3;
		
//get year
	memcpy(tmpbuf,InBuffer+pos,4);		
	tmpbuf[4]='\0';
	pos+=4;      
	SystemTime.wYear=atoi(tmpbuf);
	
//get month        
	memcpy(tmpbuf,InBuffer+pos,2);		
	tmpbuf[2]='\0';
	pos+=2;      
	SystemTime.wMonth=atoi(tmpbuf);
	
//get day        
	memcpy(tmpbuf,InBuffer+pos,2);		
	tmpbuf[2]='\0';
	pos+=2;      
	SystemTime.wDay=atoi(tmpbuf);

//get hour        
	memcpy(tmpbuf,InBuffer+pos,2);		
	tmpbuf[2]='\0';
	pos+=2;      
	SystemTime.wHour=atoi(tmpbuf);

//get minute        
	memcpy(tmpbuf,InBuffer+pos,2);		
	tmpbuf[2]='\0';
	pos+=2;      
	SystemTime.wMinute=atoi(tmpbuf);

//get second        
	memcpy(tmpbuf,InBuffer+pos,2);		
	tmpbuf[2]='\0';
	pos+=2;      
	SystemTime.wSecond=atoi(tmpbuf);
/*	_dos_settime(&Time);            
	_dos_setdate(&Date);
*/
//   SetLocalTime(&SystemTime);
}

IMPLEMENT_DYNAMIC(CLocalConnectSocket,CAsyncSocket);

CLocalConnectSocket::CLocalConnectSocket(CClientApp* pApp,CString IniName,int local)
{
	m_App = pApp;
	m_AppPort = GetPrivateProfileInt("SQLSERVER","INPORT",700,IniName);
	
	if(!m_AppPort)
		AfxMessageBox(IDP_INI_FILE_ERR);
	if(local==1)
	  m_Port = GetPrivateProfileInt("SQLSERVER","OUTPORT",702,IniName);
	else m_Port = GetPrivateProfileInt("SQLSERVER","CENPORT",2000,IniName);
	if(!m_Port)
		AfxMessageBox(IDP_INI_FILE_ERR);
}

BOOL CLocalConnectSocket::Create()
{
	return CAsyncSocket::Create(m_Port,SOCK_DGRAM);
}

void CLocalConnectSocket::Close()
{
	CAsyncSocket::ShutDown(2);
	CAsyncSocket::Close();	
}

void CLocalConnectSocket::OnReceive(int nErrorCode)
{
	char RecvBuffer[RECVLEN];
	int nCount = 0;

//	RecvBuffer = new char [RECVLEN];
	
	int nResult = Receive(RecvBuffer,RECVLEN);
	
	if(nResult == SOCKET_ERROR)
	{
		#ifdef _DEBUG
			int nErrCode = GetLastError();
			if(nErrCode == WSAEMSGSIZE)		
				{
					AfxMessageBox("RECVLEN value is too small!");
				}
		#endif
//		delete RecvBuffer;
	}

	m_App->Send(RecvBuffer,strlen(RecvBuffer)+1);
	
//	delete RecvBuffer;
}

void CLocalConnectSocket::RequestReply(const char *ReplyData,int ReplyDataLen)
{
	CAsyncSocket::SendTo(ReplyData,ReplyDataLen,m_AppPort,"127.0.0.1");
}

CLocalConnectSocket::~CLocalConnectSocket()
{
	
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩美女视频在线| 中文字幕日韩av资源站| 国产精品视频麻豆| 亚洲国产日韩在线一区模特| 国产麻豆精品95视频| 欧美日韩精品一区二区三区蜜桃| 亚洲国产精品精华液ab| 蜜桃91丨九色丨蝌蚪91桃色| 欧洲视频一区二区| 国产精品沙发午睡系列990531| 老司机精品视频一区二区三区| 色综合天天天天做夜夜夜夜做| 国产亚洲欧美在线| 韩国av一区二区三区| 欧美一区午夜视频在线观看| 一区二区三区丝袜| 91香蕉视频mp4| 欧美高清在线一区| 丰满岳乱妇一区二区三区| 日韩免费电影网站| 日本sm残虐另类| 欧美疯狂性受xxxxx喷水图片| 亚洲自拍偷拍综合| 日本二三区不卡| 亚洲精品一二三| 色综合天天性综合| 一区二区不卡在线视频 午夜欧美不卡在| 美女在线一区二区| 欧美一区二区三区在线看| 香蕉乱码成人久久天堂爱免费| 91小视频免费观看| 亚洲午夜影视影院在线观看| 欧美在线观看一二区| 亚洲成人av一区二区三区| 色域天天综合网| 亚洲成人免费视| 51精品国自产在线| 麻豆国产91在线播放| 久久久蜜桃精品| 不卡免费追剧大全电视剧网站| 国产精品美女一区二区在线观看| 成人动漫一区二区三区| 亚洲视频香蕉人妖| 欧美日本乱大交xxxxx| 日韩中文欧美在线| 精品少妇一区二区三区在线播放| 午夜成人免费视频| 欧美变态口味重另类| 国产激情视频一区二区在线观看| 国产精品伦理一区二区| 日本韩国精品一区二区在线观看| 日日欢夜夜爽一区| 精品免费日韩av| caoporn国产精品| 亚洲成av人片在线观看无码| 制服丝袜亚洲播放| 国产不卡在线播放| 亚洲一区二区精品久久av| 日韩欧美一区在线| 成人一区在线看| 午夜电影一区二区三区| 精品入口麻豆88视频| av综合在线播放| 日韩国产成人精品| 国产精品毛片久久久久久| 欧美午夜精品免费| 国产精品资源网| 亚洲成av人片在www色猫咪| 久久久噜噜噜久久人人看| 色婷婷综合久久久久中文一区二区 | 亚洲欧洲一区二区在线播放| 欧美在线你懂得| 成人激情小说网站| 麻豆国产欧美日韩综合精品二区| 中文字幕色av一区二区三区| 欧美一级日韩不卡播放免费| 成人国产精品免费网站| 日本不卡一二三| 亚洲女爱视频在线| 久久久99久久精品欧美| 欧美日韩国产a| 99久久久精品| 国产精品亚洲第一区在线暖暖韩国| 亚洲午夜免费电影| 国产精品女同一区二区三区| 精品国产乱码久久久久久免费 | 一区二区三区欧美亚洲| 久久久影视传媒| 91精品国产综合久久久久| 99精品久久免费看蜜臀剧情介绍| 麻豆精品久久精品色综合| 亚洲综合偷拍欧美一区色| 欧美精彩视频一区二区三区| 精品国产乱码久久久久久1区2区| 欧美综合久久久| 91色九色蝌蚪| 色综合色综合色综合| 成人免费毛片高清视频| 韩国av一区二区三区在线观看| 日韩激情中文字幕| 亚洲.国产.中文慕字在线| 亚洲女厕所小便bbb| 亚洲欧洲成人自拍| 国产精品久久毛片a| 国产欧美日韩在线| 日本一区二区视频在线| 久久日韩精品一区二区五区| 日韩欧美不卡在线观看视频| 日韩三级精品电影久久久 | 亚洲成人第一页| 亚洲图片欧美一区| 亚洲午夜国产一区99re久久| 亚洲一区二区影院| 天堂成人免费av电影一区| 亚洲成av人综合在线观看| 日韩专区一卡二卡| 青青草原综合久久大伊人精品| 天天色综合成人网| 免费人成黄页网站在线一区二区| 亚洲午夜国产一区99re久久| 婷婷综合五月天| 日本va欧美va精品| 国产精品性做久久久久久| 成人一级黄色片| 99精品久久99久久久久| 色狠狠综合天天综合综合| 欧美日韩一级大片网址| 欧美人体做爰大胆视频| 日韩一区二区免费视频| 欧美成人猛片aaaaaaa| 日本一区二区三区电影| 亚洲色欲色欲www| 午夜电影网一区| 极品少妇xxxx精品少妇偷拍| 国产99久久精品| 日本精品一区二区三区四区的功能| 欧美午夜精品一区| 精品久久国产97色综合| 国产色综合一区| 一区二区三区中文字幕电影| 免费看欧美女人艹b| 丁香激情综合五月| 欧美少妇bbb| 久久亚洲欧美国产精品乐播| 国产精品久久久久久久久久免费看 | 色综合色狠狠天天综合色| 制服丝袜亚洲色图| 国产精品动漫网站| 奇米影视在线99精品| 国产馆精品极品| 精品视频1区2区3区| 中文字幕成人在线观看| 亚洲成人av免费| www.爱久久.com| 欧美一级久久久久久久大片| 国产欧美精品日韩区二区麻豆天美| 亚洲综合色区另类av| 国产一区二区主播在线| 在线一区二区三区四区五区| 精品剧情在线观看| 玉米视频成人免费看| 国内精品久久久久影院一蜜桃| 在线观看亚洲专区| 国产丝袜美腿一区二区三区| 性做久久久久久| 波多野洁衣一区| 日韩美女一区二区三区四区| 亚洲自拍偷拍网站| 99久久精品国产麻豆演员表| 精品国产伦一区二区三区观看方式 | 国产剧情在线观看一区二区| 欧美区在线观看| 亚洲乱码中文字幕| 国产不卡视频在线播放| 日韩欧美精品在线| 亚洲电影在线免费观看| www.亚洲色图| 欧美激情中文不卡| 国产乱理伦片在线观看夜一区| 欧美一区三区二区| 亚洲观看高清完整版在线观看| 91亚洲国产成人精品一区二区三| 久久久久久久久一| 麻豆freexxxx性91精品| 日韩一区二区三区在线观看| 亚洲国产综合在线| 91精品福利视频| 亚洲理论在线观看| 91麻豆文化传媒在线观看| 日本一区免费视频| 国产夫妻精品视频| 久久久影视传媒| 国产成人精品免费在线| 久久综合给合久久狠狠狠97色69| 青草国产精品久久久久久| 日韩一卡二卡三卡四卡| 日韩影视精彩在线| 欧美一级视频精品观看| 另类的小说在线视频另类成人小视频在线 | 久久精品欧美一区二区三区不卡|