- 论坛徽章:
- 0
|
浪费了一天时间,修改了N次,现在总算调试通了,关键部分代码如下。客户端可以通过发送exit命令和CTRL-C命令让让服务器端和客户端同时退出。
while(strcmp(recvbuf,"exit")!=0)
{
size=recv(nsockfd,recvbuf,LENGTH,0);
while(recvbuf[i])
{
count++;
i++;
}
switch(count)
{
case -1:
printf("ERROR: Receive string error!\n");
close(sockfd);
return (0);
case 0:
//close(sockfd);
close(nsockfd);
return(0);
case 4:
if(strcmp(recvbuf,"exit")==0)
{
close(sockfd);
close(nsockfd);
exit (0);
return (0);
}
else
{
printf ("OK: Receviced numbytes = %d \n \tReceviced string is: %s \n", count,recvbuf);
break;
}
default:
printf ("OK: Receviced numbytes = %d \n \tReceviced string is: %s \n", count,recvbuf);
break;
}
} |
客户端代码如下。
while(1)
{
printf("Please input information to send\n");
scanf("%s",&sendbuf);
printf("your iunput information is %s. \n",sendbuf);
if(strcmp(sendbuf,"exit")==0)
{
close(sockfd);
return (0);
}
send(sockfd,sendbuf,LENGTH,0);
} |
|
|