我在客户端服务器模型中有这些循环,但是客户端代码中的这些循环是从文件中读取,直到文件为 0 或 EOF,但即使条件为真,它也永远不会进入循环???
int n_read;
while ( ( n_read=((read(sockfd,&buffer,sizeof(buffer))))>0 ) );
{
printf("test to print\n");
write(fd,buffer,strlen(buffer));
//bzero(&buffer,sizeof(buffer));
}
奇怪的是我在服务器代码中有相同的循环来读取和写入文件,它的工作很完美,但我不知道为什么在客户端不能作为服务器工作???
这是服务器循环代码:
while (( read(fd,buffer,sizeof(buffer)))>0) /* to read from open file descriptor */
{
n=write(connfd,&buffer,n);
if(n<0){error("Error,Reading from socket \n");}
{buffer[n] = '\0';}
}
那么,如何解决这个问题?