69 lines
1.7 KiB
C
69 lines
1.7 KiB
C
|
#pragma once
|
|||
|
|
|||
|
#include <iostream>
|
|||
|
#include <string>
|
|||
|
#include <string.h>
|
|||
|
#include <sstream>
|
|||
|
#include "HyvSdk.h"
|
|||
|
|
|||
|
/* <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ǰ: 0x7d 0x7c */
|
|||
|
#define CLT_SEARCH_REQUEST1 0x7D
|
|||
|
#define CLT_SEARCH_REQUEST2 0x7C
|
|||
|
/* <20>ɹ<EFBFBD><C9B9>豸<EFBFBD>˻ظ<CBBB>: 0x7d 0x7d */
|
|||
|
#define DEV_REPLY1 0x7D
|
|||
|
#define DEV_REPLY2 0x7D
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>˻ظ<CBBB>*/
|
|||
|
#define MODIFY_IP_SUCCESSREPLY1 0x7D
|
|||
|
#define MODIFY_IP_SUCCESSREPLY2 0x7D
|
|||
|
#define MODIFY_IP_FAILREPLY1 0x7B
|
|||
|
#define MODIFY_IP_FAILREPLY2 0x7B
|
|||
|
|
|||
|
#define BUFFER_SIZE 1500
|
|||
|
#define CLIENT_SEARCH_DEV_PORT 36377
|
|||
|
#define CLIENT_MODIFY_IP_PORT 36388 //<2F><EFBFBD>IP<49><50>TCP<43><50>ʽ
|
|||
|
|
|||
|
using namespace std;
|
|||
|
|
|||
|
class HYVSTREAM_API CHyvSNMac
|
|||
|
{
|
|||
|
private:
|
|||
|
CHyvSNMac();
|
|||
|
int ParseInfo(char *buffer, char *sn, char *mac);
|
|||
|
int CheckIpMasksGateway(char *sIP,char *sMask,char *sGateway);
|
|||
|
private:
|
|||
|
SOCKET sockClient;
|
|||
|
#ifdef WIN32
|
|||
|
SOCKADDR_IN addrClient;
|
|||
|
#else
|
|||
|
struct sockaddr_in addrClient;
|
|||
|
#endif
|
|||
|
int addr_len;
|
|||
|
public:
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
static CHyvSNMac * Create();
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>Ϣ
|
|||
|
// iOvertime:<3A><>ʱʱ<CAB1><CAB1>,<2C><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|||
|
// <20><><EFBFBD><EFBFBD>ֵ 0:<3A>ɹ<EFBFBD> -1:ʧ<><CAA7> 1:ʧ<>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>²<EFBFBD><C2B2><EFBFBD>
|
|||
|
int SearchDevice(int iOvertime);
|
|||
|
|
|||
|
// <20><>ȡSN<53><4E>Mac1<63><31><EFBFBD>豸IP
|
|||
|
// sn,Ҫ<><D2AA>ȡ<EFBFBD><C8A1>SN
|
|||
|
// mac,Ҫ<><D2AA>ȡ<EFBFBD><C8A1>Mac1
|
|||
|
// sIp,Ҫ<><D2AA>ȡ<EFBFBD><C8A1>IP
|
|||
|
// <20><><EFBFBD><EFBFBD>ֵ-1<><31>ʧ<EFBFBD><CAA7> 1:<3A><>ȡ<EFBFBD><C8A1><EFBFBD>ݳ<EFBFBD>ʱ 2<><32><EFBFBD><EFBFBD>ȡʧ<C8A1>ܻ<EFBFBD><DCBB><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ݷǷ<DDB7> 0<><30><EFBFBD><EFBFBD>ȡSN,Mac1,IP<49>ɹ<EFBFBD>
|
|||
|
int GetSNMac(char *sn, char *mac,char *sIp);
|
|||
|
|
|||
|
// <20><EFBFBD><DEB8>豸IP
|
|||
|
// sUsr:<3A>˻<EFBFBD><CBBB><EFBFBD>,sPassword:<3A><><EFBFBD><EFBFBD>,sSN:<3A><><EFBFBD>к<EFBFBD>(<28><>GetSNMac<61><63>ȡ), sNetName:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Ŀǰ<C4BF><C7B0>"eth0")
|
|||
|
// sSourceIP:Ҫ<>ĵ<DEB8>ԴIP<49><50>ַ,sDestIp:Ҫ<>ĵ<DEB8>Ŀ<EFBFBD><C4BF>IP<49><50>ַ,sMask:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,sGateway:<3A><><EFBFBD><EFBFBD>
|
|||
|
// <20><><EFBFBD><EFBFBD>ֵ-2:ʧ<><CAA7> -1:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD>أ<EFBFBD>Ŀ<EFBFBD><C4BF>IP<49><50>ƥ<EFBFBD><C6A5> 1:<3A><EFBFBD>ʧ<EFBFBD><CAA7> 0:<3A>ijɹ<C4B3>
|
|||
|
int Modify(char *sUsr, char *sPassword, char *sSN, char *sNetName, char *sSourceIP, char *sDestIP, char *sMask, char *sGateway);
|
|||
|
|
|||
|
// <20>رգ<D8B1><D5A3><EFBFBD><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>
|
|||
|
void Close();
|
|||
|
|
|||
|
private:
|
|||
|
unsigned char sndrcvbuf[BUFFER_SIZE];
|
|||
|
};
|