一个报文发送的问题
void * serverproc(void *Conn)
{
CONNINFO pConn;
TERM_BUF slTermbuf; /* 报文结构 */
pthread_t my_pthread_id;
pConn=*(CONNINFO *)Conn;
free(Conn);
/* 通过父线程发送SIGUSR1 结束本线程 **/
signal(SIGUSR1, pExit);
my_pthread_id = pthread_self();
pthread_detach(pthread_self());
memset(&slTermbuf, 0x00, sizeof(TERM_BUF));
memset(alMsgbuf, 0x00, sizeof(alMsgbuf));
ilSockfd = pConn.sockfd;
memset(ipaddr,0x00,sizeof(ipaddr));
etsDebug(2,"接收到二级连接请求socket[%d] IP=[%s]",ilSockfd,pConn.ipaddr);
iThno=0;
for(;;){
iDownflag=0;
ilMsglen=0;
ilMsglen = etsTcprcv(ilSockfd,alMsgbuf,JGMSGLEN);
etsDebughex(5, alMsgbuf,JGMSGLEN);
if ( ilMsglen<=0 ){
/*前台退出发来的信号,读出的数据不对。关连接*/
close(ilSockfd);
etsDebug(0,"关闭连接[%d],接受二级报文错误![%d] errno=[%d] IP=[%s]",ilSockfd,ilMsglen,errno,pConn.ipaddr);
pthread_exit(NULL);
}
alMsgbuf[ilMsglen]='\0';
if (strncmp(alMsgbuf,"",FLAG_LEN)=0)
{
continue;
}
}
}
有服务器发送报文,客户端接受报文,这是客户端程序。
服务器端重启以后,报 关闭连接[%d],接受二级报文错误! 的错误信息,怎样实现自动连接。