Мы создали простую программу client.c
и server.c
в среде UNIX. Мы используем его для передачи простого текстового файла, сначала открыв его, затем прочитав и отправив, используя системные вызовы open
, read
и send
; на стороне клиента я получаю его и записываю, создавая файл на сервере. Передача происходит довольно гладко, но файл, полученный на стороне клиента, не совсем совпадает на стороне сервера. Между читаемыми символами есть нечитаемые символы. Подскажите, пожалуйста, что может быть причиной этого? Хотя большая часть файла одинакова, только небольшая часть между ними имеет некоторые расхождения.
Код можно увидеть здесь .
Спасибо!
цикл на стороне сервера:
do
{
n=read(t,buf,100);
write(1,buf,strlen(buf));
send(connected, buf,strlen(buf), 0);
} while(n!=0);
на стороне клиента
do
{
bytes_recieved=recv(sock,recv_data,100,0);
count=write(t,recv_data,strlen(recv_data));
} while(bytes_recieved!=0);