我有這些循環在客戶端服務器模型,但這些循環在客戶端代碼是從文件中讀取,直到文件爲0或EOF,但它永遠不會進入循環,即使條件爲真???奇怪的同時循環在C插座?
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';}
}
那麼,如何解決這個問題呢?