锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
聽聽聽聽聽聽聽聽聽 LPCSTR lpImgPath,
聽聽聽聽聽聽聽聽聽 int nImgType,
聽聽聽聽聽聽聽聽聽 LPSTR lpRetErrorMsg)
{
聽//榪炴帴鏈嶅姟鍣?br />聽char chost[25]={0};
聽int nPort = 0;
聽
聽CRzxProfile objRzxProfile;
聽if (objRzxProfile.GetCityIp(chost) == FALSE)
聽聽return FALSE;
聽nPort = objRzxProfile.GetCardPort();
聽
聽Inition();
聽RzxProtocol objConn;
聽BOOL rtn=objConn.Connect(chost,nPort);聽
聽if(!rtn)
聽{
聽聽printf("Error:Connect server failed!\n");
聽聽return FALSE;
聽}
聽USER_INFO_GRAPH szPhotoData;
聽char *pPhotoData = NULL;
聽memset(&szPhotoData, 0, sizeof(szPhotoData));
聽objRzxProfile.GetBarId(szPhotoData.szBarId);
聽if (!PackPhotoInfo(lpIdNum, lpImgPath, nImgType, szPhotoData, lpRetErrorMsg))
聽{
聽聽delete [] szPhotoData.pData;
聽聽return FALSE;
聽}
聽//鍙戦佸寘澶?br />聽TPACKHEAD packet;
聽memset(&packet,0,sizeof(packet));
聽PackHeadInfo(CMD_SEND_PHOTO_TO_CENTER, ntohl(szPhotoData.lGraphSize)+sizeof(USER_INFO_GRAPH)-sizeof(char *), packet);
聽if (objConn.Write(&packet, sizeof(TPACKHEAD)) == 0)
聽{
聽聽delete [] szPhotoData.pData;
聽聽return FALSE;
聽}
聽//鍙戦佺収鐗囦俊鎭ご
聽if (objConn.Write(&szPhotoData, sizeof(USER_INFO_GRAPH)-sizeof(char *)) == 0)
聽{
聽聽delete [] szPhotoData.pData;
聽聽return FALSE;
聽}
聽//鍙戦佺収鐗囨暟鎹?br />聽if (objConn.Write(szPhotoData.pData, ntohl(szPhotoData.lGraphSize)) == 0)
聽{
聽聽delete [] szPhotoData.pData;
聽聽return FALSE;
聽}
聽delete [] szPhotoData.pData;
聽//鎺ユ敹涓績鍥炲簲
聽memset(&packet,0,sizeof(packet));
聽聽聽 if(objConn.Read(&packet,sizeof(packet)) == 0)
聽{
聽聽return FALSE;
聽}
聽REGIST_ACK stRetAck;
聽memset(&stRetAck, 0, sizeof(REGIST_ACK));
聽if(objConn.Read(&stRetAck,sizeof(REGIST_ACK)) == 0)
聽{
聽聽return FALSE;
聽}
聽else
聽{
聽聽strcpy(lpRetErrorMsg,stRetAck.result);
聽聽if (stRetAck.IsRegist == 1)聽 //鍥劇墖涓婁紶鎴愬姛
聽聽聽return TRUE;
聽聽else
聽聽聽return FALSE;
聽}
聽objConn.Close();
聽WSACleanup();
聽return TRUE;
}
//閫氳鍖呭ご瀹氫箟
struct TPACKHEAD
{
聽unsigned char head;聽聽 //澶存爣蹇楋紝涓?8
聽unsigned char verifyflag;//涓?x0E鏃訛紝涓烘紜寘
聽unsigned char command;聽聽//1--鎸傚け搴撳鏃?2--鎸傚け璁板綍涓暟涓嬭澆 3--鍏蜂綋鎸傚け璁板綍涓嬭澆
聽//4--璇鋒眰鎸傚け璁板綍涓婁紶 5--鍏蜂綋鎸傚け璁板綍涓婁紶
聽//6--鏁版嵁搴撲腑鎬葷殑鎸傚け璁板綍涓暟涓嬭澆
聽//7--鏁版嵁搴撲腑鍚勪釜鍏蜂綋鎸傚け璁板綍涓嬭澆?聽
聽//11--璇鋒眰鐢ㄦ埛璧勬枡涓婁紶
聽//12--鍏蜂綋鐢ㄦ埛璧勬枡涓婁紶
聽//13--璇鋒眰涓存椂鐢ㄦ埛璧勬枡涓婁紶
聽//14--鍏蜂綋涓存椂鐢ㄦ埛璧勬枡涓婁紶
聽//15--ID鍗″彉鍖栬褰曚釜鏁頒笅杞?br />聽//16--ID鍗″叿浣撳彉鍖栬褰曚笅杞?br />聽//17--ID鍗℃暟鎹簱涓葷殑璁板綍涓暟涓嬭澆
聽//18--ID鍗℃暟鎹簱涓悇涓叿浣撹褰曚笅杞?聽
聽//19--璇鋒眰楠岃瘉ID鍗℃槸鍚﹀凡娉ㄥ唽
聽//20--涓婁紶鐢ㄦ埛ID鍗′俊鎭?br />聽//21--涓嬭澆ID搴撳鏃?br />聽//32--楠岃瘉璇佷歡鏄惁寮榪囧崱 瀹炵幇涓浜轟竴鍗?br />聽//33--鍙戦佸疄鍚嶆敞鍐岃姹?br />聽unsigned char tail;聽聽//灝炬爣蹇?br />聽unsigned int聽 len;聽聽//鍖呬綋鐨勯暱搴?br />};
typedef struct USER_INFO_GRAPHtag
{
聽聽聽 char id_num[19];聽聽聽聽聽 //ID鍗″彿鐮?br />聽char szBarId[11];聽聽聽//鍗曚綅緙栧彿
聽unsigned char cGraphKind;聽//鍥劇墖鎵灞炵被鍒紙1銆佺収鐗囷紱2銆佽瘉浠舵壂鎻忓浘錛?br />聽char sGraphClass[4];聽聽//鍥劇墖鏍煎紡錛堝gif,jpg絳夛級
聽unsigned long lGraphSize;聽//鍥劇墖澶у皬
聽char *pData;聽聽聽聽//鍥劇墖鏁版嵁
}USER_INFO_GRAPH;
struct REGIST_ACK聽聽//add by 寮犳搗 20060313
{
聽聽聽 char IsRegist;聽//1:鎴愬姛聽 2錛氬け璐?br />聽聽聽 char result[50];聽//鏄惁鎴愬姛鎴栬呭け璐ュ師鍥?br />};