simpserver.c

来自「tuxede下面的编程」· C语言 代码 · 共 51 行

C
51
字号
#include <stdio.h>
#include <ctype.h>
#include "atmi.h"

#define SRECV  1
#define SSEND  2
#define SDONE  3

void TOUPPER(TPSVCINFO *rqst)
{
	static state = SRECV;
	char*  buf;
	long len,revent;
	buf = (char*)tpalloc("STRING",NULL , 1024);
	for(;;)
	{
		userlog("dsafa");
		switch(state)
		{
		case SRECV:
		userlog("SRECV");
		if(tprecv(rqst->cd,&buf,&len,TPNOCHANGE,&revent)==-1)
		{
			userlog("tprecv");
			if(tperrno==TPEEVENT&&revent==TPEV_SENDONLY)
			{
				userlog("state ch from receive");
				state = SSEND;
			}
			else
			{
				userlog("TPFAIL");
				tpreturn(TPFAIL,0,0,0L,0);
			}
		}
		break;
		case SSEND:
		strcpy(buf,"all done&protocol complete");
		if (tpsend(rqst->cd,buf,0,0,&revent)==-1)
		userlog("tpsend(%d):%s",revent,tpstrerror(tperrno));
		else
		userlog("send message");
		state = SDONE;
		break;
		case SDONE:
		tpfree(buf);
		tpreturn(TPSUCCESS,0,rqst->data,0L,0);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?