⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pktcpcli.c

📁 一个C语言的SOCKET程序
💻 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 + -