www.pudn.com > PK1111.rar > pktcpcli.c
#include#include char MsgLog[50]="/usr/zfmm/pk/pktcpcli.log"; /*程序信息*/ #define Ret(M) memset(pk_out,' ',pk_out_len);strcpy(pk_out,M); #define pk_in_len 386 #define pk_out_len 54 int pk_tcpcli(char *pk_in,char *pk_out) { int sock; int ret; int time; char pkIP[30]; char pkPORT[10]; memset(pkIP,0,sizeof(pkIP)); memset(pkPORT,0,sizeof(pkPORT)); ShowId("pktcpcli"); GetEnv("/usr/zfmm/zfmm.cfg","[银河]IP",pkIP); GetEnv("/usr/zfmm/zfmm.cfg","[银河]PORT",pkPORT); /*取配置地址、端口*/ #ifdef DEBUG ShowMsg("pktcpcli open IP=%s PORT=%s\n",pkIP,pkPORT); #endif sock=sockClientOpen(pkIP,atoi(pkPORT)); /*连接*/ if (sock <0) { #ifdef DEBUG ShowMsg("不能正确连接支付密码前置机! error=%d\n",sock); #endif Ret("4011"); return (0); } #ifdef DEBUG LooKChar(pk_in,strlen(pk_in)); LooKChar(pk_in,pk_in_len); #endif ret=sockSend(sock,pk_in,strlen(pk_in)); if (ret <0) { #ifdef DEBUG ShowMsg("不能正确发送支付密码通讯包! error=%d\n",ret); #endif Ret("4012"); sockClose(sock); return (0); } if (TimeOut(sock,70)) { #ifdef DEBUG ShowMsg("接收支付密码前置机输出数据操时!\n"); #endif Ret("4014"); sockClose(sock); return(0); } timeoutopen(70); ret=sockRecv(sock,pk_out,pk_out_len); time=timeoutclose(); if (time==0) { #ifdef DEBUG ShowMsg("接收支付密码前置机输出超时!\n"); #endif Ret("4015"); sockClose(sock); return (0); } if (ret <0) { #ifdef DEBUG ShowMsg("不能正确接收支付密码前置机输出! error=%d\n",ret); #endif Ret("4016"); sockClose(sock); return (0); } #ifdef DEBUG LooKChar(pk_out,pk_out_len); #endif sockClose(sock); return (0); }