Я пытаюсь отправить содержимое файла с сервера на клиент, я читаю файл построчно, используя fgets, и пишу в дескриптор сокета построчно, на стороне клиента, я в В то время как цикл, чтение отправленного содержимого. Я не могу завершить последовательность отправки сервером, то есть клиент продолжает читать буфер и следующая строка программы не выполняется, я думаю, что-то не так с моим способом отправки или получения. вот код:
server :
filefd = fopen("clients.txt","a+");
while(fgets(filcont,300,filefd) != NULL)
{// write whole file contents to client
n=write(newsockfd,filcont,strlen(filcont));
if(n==0) break;
memset(filcont,'\0',300);
}
fclose(filefd);
client side :
while(n>0){
n = read(sockfd,buffer,sizeof(buffer)-1);
if(n==0) break;
printf("%s\nbytes read :%d \n",buffer,n);
memset(buffer,'\0',256);
}
printf («Введите одноранговое имя (кроме вашего) для отправки запроса на подключение: \ n»);
строка выше (printf, имя пира не выполняется до тех пор, пока я не завершу работу сервера)