📄 pktcpcli.c
字号:
#include <stdio.h>
#include <stdlib.h>
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);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -