Может ли кто-нибудь указать мне, есть ли специальный способ отправки изображений (в частности .jpeg-файлов) через сокет tcp? До сих пор я разрабатываю веб-сервер, который, похоже, хорошо передает все текстовые данные. Когда дело доходит до jpeg-изображений, заголовки отправляются, однако консоль Cygwin просто зависает, когда дело доходит до отправки фактических данных.Отправка изображений через потоковый сокет
То, как я отправляю данные, заключается в том, что я сначала открываю файл, читаю данные в буфер и затем нажимаю на него. Какие-либо предложения?
while(!feof(sendFile)){
bzero(send_buffer,sizeof(send_buffer));
result = fread (send_buffer,1,sizeof(send_buffer),sendFile);
while(result>0){
result = fread (send_buffer,1,sizeof(send_buffer),sendFile);
if(ferror(sendFile)){
printf("Error reading file: %s\n",request_page);
}
if((test=send(new_fd,send_buffer,sizeof(send_buffer),0))<0){
printf("Send returned %d\n",test);
printf("Sending %s Failed\n", request_page);
exit(1);
}
bzero(send_buffer,sizeof(send_buffer));
}
}
fclose(sendFile);
что-то я узнал в передаче данных: Я буду обычно base64 кодирование перед отправкой и расшифровывает при получении, так что данные не будут потеряны при кодировании преобразования – mauris
То верно, но я 'm записывает только код сервера. Я пытаюсь обслуживать запросы из существующего браузера, такого как Firefox. – BAkz
Вам не нужно, чтобы base64 кодировал данные при использовании протокола HTTP. Он предназначен для обработки двоичных данных как есть. –