📄 simpserv.c
字号:
#include <stdio.h>
#include <ctype.h>
#include "atmi.h"
#define SRECV 1
#define SSEND 2
#define SDONE 3
void TOUPPER(TPSVCINFO *rqst)
{
long state = SRECV;
char* buf;
long len,revent;
buf = (char*)tpalloc("STRING",NULL , 1024);
for(;;)
{
switch(state)
{
case SRECV:
userlog("SRECV\n");
if(tprecv(rqst->cd,&buf,&len,TPNOCHANGE,&revent)==-1)
{
if(tperrno==TPEEVENT&&revent==TPEV_SENDONLY)
{
userlog("TPEV_SENDONLY happened\n");
state = SSEND;
}
else
{
userlog("tprecv() failure,revent=%ld,strerr=%s\n",revent,tpstrerror(tperrno));
free(buf);
tpreturn(TPFAIL,0,0,0L,0);
}
}
userlog("tprecv() recieve data from client=%s\n",buf);
break;
case SSEND:
userlog("SSEND\n");
strcpy(buf,"data from server");
if (tpsend(rqst->cd,buf,(long)strlen(buf),TPSIGRSTRT,&revent)==-1)
userlog("tpsend() failure,revent=%ld,strerr=%s\n",revent,tpstrerror(tperrno));
else
userlog("tpsend() success\n");
state = SDONE;
break;
case SDONE:
userlog("SDONE\n");
strcpy(buf,"tpreturn(TPSUCCESS)");
tpreturn(TPSUCCESS,0,rqst->data,0L,0);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -