📄 example.c
字号:
/********************************************************************
* NAME : example.c
* FUNCTION :
* AUTHOR : ZZ-NODE/2000.12.21/songqufei
* OS : solaris
********************************************************************/
/********************************************************************
* INCLUDE FILES
********************************************************************/
#include "song1.h"
/********************************************************************
* NAME : CLIENT_S1_send_a_greeding
* FUNCTION : read message send from other process and deal it
* PROCESS : 1. set operated socket set
* : 2. select these sockets
* : 3. read socket and call related functions
* : 4. accept connect to it when needed
* INPUT : sd : socket ID related to process
* OUTPUT :
* UPDATE :
* RETURN : NONE :
* : OTHER:
* AUTHOR : ZZ-NODE/2000.12.21/songqufei
* CALL : FD_SET()
* : FD_ZERO()
********************************************************************/
int CLIENT_S1_send_a_greeding(int iSocketID)
{
int i=0,j;
int errflag;
int iRecordNum; /* 包体纪录个数 */
long lPacketSize; /* 发送包长度 */
char *pPacket=NULL;
PacketHead *pPacketHead;
char *pPacketToSend=NULL; /* 发送包指针 */
typedef struct _GREEDING{
int greedingID;
char a_greeding[255];
} GREEDING;
GREEDING *The_greeding;
while(1){
iRecordNum = 1 ;
lPacketSize=sizeof(PacketHead)+iRecordNum*sizeof(GREEDING);
pPacketToSend=(char *)malloc(lPacketSize);
if(pPacketToSend==NULL){ /* 分配内存失败 */
DebugLog(" no enough memory ");
return IS_NG;
}
memset(pPacketToSend,0,lPacketSize);
/* 填充包头 */
pPacketHead=(PacketHead *)pPacketToSend;
pPacketHead->iPacketID = P_SONG1_SEND_GREEDING;
pPacketHead->iRetPktID = IS_OK;
pPacketHead->cRetCode = IS_OK;
pPacketHead->lPacketSize = lPacketSize;
pPacketHead->iRecordNum = iRecordNum;
pPacketHead->iRecordSize = sizeof(GREEDING);
/*填充包体*/
The_greeding=(GREEDING *)(pPacketToSend+sizeof(PacketHead));
for(j=0;j<iRecordNum;j++){
The_greeding->greedingID=i;
strcpy(The_greeding->a_greeding,"Hello!I'm song1.");
}
if (TCP_SendPacket(iSocketID,pPacketToSend)<0){
DebugLog("发WorkSheetResult包失败");
return IS_NG;
}
/*等待应答包*/
if(CLIENT_S1_CheckSocket(iSocketID)==IS_NG){
DebugLog("recv packet error");
return IS_NG;
}
/*收应答包*/
pPacket = TCP_RecvPacket(iSocketID,60,&errflag);
if(errflag || pPacket==NULL){
DebugLog("receive packet error errflag=%d",errflag);
return IS_NG;
}
if(pPacketToSend){
free(pPacketToSend);
pPacketToSend=NULL;
}
if(pPacket){
free(pPacket);
pPacket=NULL;
}
DebugLog("send NO.%d greeding success.",i);
i++;
sleep(10);
}
return IS_OK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -