Socket.SendFile - не получается заголовки добавить - C#
Формулировка задачи:
Есть сервер http, к нему подключается клиент, которому нужно дать изображение вместе с заголовками. Как это выглядит в сниффере -
Как пытаюсь сделать я -
Но ошибка, и изображение битое, и никаких заголовков нет Если просто без заголовков файл указать - то все ок, но заголовков нет. Пробовал уже разные варианты, и приводить к строке изображение, затем отсылать через Socket.Send(), но там проблемы с кодировкой Файл в ASCII кодировке, но после отсылки - он уже в какой то другой
Что тут уже не так? Изображение показывается, а заголовки фиг
HTTP/1.1 200 OK Date: Wed, 02 Oct 2013 18:52:32 GMT Content-Type: image/png Connection: close Last-Modified: Sat, 14 Sep 2013 16:27:26 GMT Accept-Ranges: bytes Content-Length: 2528 //----------------изображение
reply = "HTTP/1.1 200 OK\r\nDate: Wed, 02 Oct 2013 18:52:32 GMT\r\nContent-Type: image/png\r\nConnection: close\r\nLast-Modified: Sat, 14 Sep 2013 16:27:26 GMT\r\nAccept-Ranges: bytes\r\nContent-Length: 2528\r\n\r\n"; msg= Encoding.ASCII.GetBytes(reply); hand.SendFile("image.png",msg,null,TransmitFileOptions.Disconnect);
byte[] s=File.ReadAllBytes("image.png"); reply = "HTTP/1.1 200 OK\r\nDate: Wed, 02 Oct 2013 18:52:32 GMT\r\nContent-Type: image/png\r\nConnection: close\r\nAccept-Ranges: bytes\r\nContent-Length: 2528\r\n\r\n"; byte[] msg= Encoding.UTF8.GetBytes(reply); byte[] res=new byte[s.Length+msg.Length]; Array.Copy(msg,0,res,0,msg.Length); Array.Copy(s,0,res,0,s.Length); hand.Send(res); // hand обьект класса Socket
Решение задачи: «Socket.SendFile - не получается заголовки добавить»
textual
Листинг программы
Array.Copy(s,0,res,msg.Length,s.Length);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д