当前位置: 技术问答>linux和unix
linux 验证客户端登录 socket得不到数据!! 急求高手帮忙!!!
来源: 互联网 发布时间:2016-04-26
本文导语: 如题,在我接收一次消息之后第二次就接收不到了! !! 我不知道什么错误 ,请高手指点~ 万分感激。。。 主要代码贴在下边,求高手指点。。。 int n;//判断是否接收成功 char* p;//指向buffer char rcv_msg[MAX_MSG]...
如题,在我接收一次消息之后第二次就接收不到了! !! 我不知道什么错误 ,请高手指点~ 万分感激。。。
主要代码贴在下边,求高手指点。。。
int n;//判断是否接收成功
char* p;//指向buffer
char rcv_msg[MAX_MSG];//接收缓存
char send_msg[MAX_MSG]; //发送缓存
/* init rcv_msg */
memset ( rcv_msg,0x0,MAX_MSG );//清空缓存
/*receive data*/
n = recv ( input->newSd, rcv_msg, MAX_MSG, 0 ); /* wait for data */
if ( n newSd );
}
printf ( "received from %s:TCP%d : %sn", inet_ntoa ( input->cliAddr.sin_addr ), ntohs ( input->cliAddr.sin_port ), rcv_msg );
memset ( rcv_msg,0x0,MAX_MSG );//清空缓存
recv ( input->newSd, rcv_msg, MAX_MSG, 0 );
//到这里就出错了 接收不到消息了! 求高手帮忙指点 万分感激。。。
printf ( "received from %s:TCP%d : %sn", inet_ntoa ( input->cliAddr.sin_addr ), ntohs ( input->cliAddr.sin_port ), rcv_msg );
主要代码贴在下边,求高手指点。。。
int n;//判断是否接收成功
char* p;//指向buffer
char rcv_msg[MAX_MSG];//接收缓存
char send_msg[MAX_MSG]; //发送缓存
/* init rcv_msg */
memset ( rcv_msg,0x0,MAX_MSG );//清空缓存
/*receive data*/
n = recv ( input->newSd, rcv_msg, MAX_MSG, 0 ); /* wait for data */
if ( n newSd );
}
printf ( "received from %s:TCP%d : %sn", inet_ntoa ( input->cliAddr.sin_addr ), ntohs ( input->cliAddr.sin_port ), rcv_msg );
memset ( rcv_msg,0x0,MAX_MSG );//清空缓存
recv ( input->newSd, rcv_msg, MAX_MSG, 0 );
//到这里就出错了 接收不到消息了! 求高手帮忙指点 万分感激。。。
printf ( "received from %s:TCP%d : %sn", inet_ntoa ( input->cliAddr.sin_addr ), ntohs ( input->cliAddr.sin_port ), rcv_msg );
|
没看明白你的问题,对于这种网络程序,你收不到数据的话,可以用载包工具先确定另外一边是不是真的发出数据来了。