?? maketyp.cpp
字號(hào):
// MakeTyp.cpp: implementation of the CMakeTyp class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "vt100.h"
#include "MakeTyp.h"
//#include "iphlpapi.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CMakeTyp::CMakeTyp()
{
}
CMakeTyp::~CMakeTyp()
{
}
int CMakeTyp::StartTyp(int iTermNo)
{
SOCKET ServerAddrSocket;
WSADATA WSAData;
struct sockaddr_in ServerAddr;
char szIp[20],szTemp[30];
TCHAR wcIp[20];
int iPortNum,iRet;
CCfgFile csCfgFile;
/////////////////////////////////////////////////////////////
/* //Get Local IP Address
MIB_IPADDRTABLE AddrTable[10];
DWORD dwBytes;
BYTE addr[4];
char LocalIp[20];
dwBytes=sizeof(AddrTable);
GetIpAddrTable(AddrTable,&dwBytes,FALSE);
memcpy(addr,&(AddrTable[0].table[0].dwAddr),4);
memset(LocalIp,0x00,sizeof(LocalIp));
sprintf(LocalIp,"%d.%d.%d.%d",addr[0],addr[1],addr[2],addr[3]);
*/////////////////////////////////////////////////////////////////
//Get parameter from config file
iPortNum=csCfgFile.GetCfgItemInt(PORTNUM);
if(iPortNum==23)
return 0;
memset(wcIp,0,sizeof(wcIp));
iRet=csCfgFile.GetCfgItemStr(IPADD,wcIp,16);
if(iRet<=0)
return 1;
memset(szIp,0,sizeof(szIp));
while(iRet>0){
szIp[iRet-1]=(char)wcIp[iRet-1];
iRet--;
}
if (WSAStartup(MAKEWORD(1,1), &WSAData)!=0){
return 2;
}
//create socket
ServerAddr.sin_family=AF_INET;
ServerAddr.sin_addr.s_addr=inet_addr(szIp);
ServerAddr.sin_port=htons(iPortNum);
ServerAddrSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(ServerAddrSocket<0) {
return 3;
}
iRet=0;
while(iRet<60){
if(connect(ServerAddrSocket,(LPSOCKADDR)&ServerAddr,sizeof(ServerAddr))==SOCKET_ERROR)
Sleep(50);
else
break;
iRet++;
}
if(iRet==60){
closesocket(ServerAddrSocket);
return 4;
}
//send start request to host
strcpy(szTemp,"1001");
iRet=send(ServerAddrSocket,szTemp,4,0);
// iRet=send(ServerAddrSocket,LocalIp,strlen(LocalIp),0);
if(iRet<=0){
closesocket(ServerAddrSocket);
return 5;
}
memset(szTemp,0,sizeof(szTemp));
iRet=recv(ServerAddrSocket,szTemp,2,0);
if(iRet<=0){
closesocket(ServerAddrSocket);
return 6;
}
if(szTemp[0]==0){
closesocket(ServerAddrSocket);
return 7;
}
closesocket(ServerAddrSocket);
// Sleep(10000);
return 0;
}
int CMakeTyp::StopTyp(int iTermNo)
{
SOCKET ServerAddrSocket;
WSADATA WSAData;
struct sockaddr_in ServerAddr;
char szIp[20],szTemp[30];
TCHAR wcIp[20];
int iPortNum,iRet;
CCfgFile csCfgFile;
//Get parameter from config file
iPortNum=csCfgFile.GetCfgItemInt(PORTNUM);
if(iPortNum==23)
return 0;
memset(wcIp,0,sizeof(wcIp));
iRet=csCfgFile.GetCfgItemStr(IPADD,wcIp,16);
if(iRet<=0)
return 1;
memset(szIp,0,sizeof(szIp));
while(iRet>0){
szIp[iRet-1]=(char)wcIp[iRet-1];
iRet--;
}
if (WSAStartup(MAKEWORD(1,1), &WSAData)!=0){
return 2;
}
//create socket
ServerAddr.sin_family=AF_INET;
ServerAddr.sin_addr.s_addr=inet_addr(szIp);
ServerAddr.sin_port=htons(iPortNum);
ServerAddrSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(ServerAddrSocket<0) {
return 3;
}
iRet=0;
while(iRet<1200){
if(connect(ServerAddrSocket,(LPSOCKADDR)&ServerAddr,sizeof(ServerAddr))==SOCKET_ERROR)
Sleep(50);
else
break;
iRet++;
}
if(iRet==1200){
closesocket(ServerAddrSocket);
return 4;
}
//send start request to host
strcpy(szTemp,"0001");
iRet=send(ServerAddrSocket,szTemp,4,0);
if(iRet<=0){
closesocket(ServerAddrSocket);
return 5;
}
memset(szTemp,0,sizeof(szTemp));
iRet=recv(ServerAddrSocket,szTemp,2,0);
if(iRet<=0){
closesocket(ServerAddrSocket);
return 6;
}
if(szTemp[0]!=0){
closesocket(ServerAddrSocket);
return 7;
}
closesocket(ServerAddrSocket);
return 0;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -