Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.28;
Скачать: CL | DM;

Вниз

Подскажите по сокетам...   Найти похожие ветки 

 
Anton.   (2005-05-14 12:15) [0]

Сделал такой текстовый файл:


1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
.........................................
64991 64992 64993 64994 64995 64996 64997 64998 64999 65000


Теперь серверсокетом в событии OnClientRead делаю следующее:

 Socket.SendText("HTTP/1.0 200 OK"+#$0D+#$0A);
 Socket.SendText("Server: My Srv"+#$0A);
 Socket.SendText(#$0D+#$0A);
 mstrm := TMemoryStream.Create;
 mstrm.LoadFromFile("d:\1.txt");
 Socket.SendStream(mstrm);
 Socket.Close;


Принимаю это интернет эксплорером. И там отображается только до сюда:
<CODE
......
5711 5712 5713 5714 5715 5716 5717 5718 5719 5720
5721 5722 5723 5724 5725 5726 5727


и все. Почему???


 
Digitman ©   (2005-05-14 12:50) [1]

а откуда IE знает размер посылаемого тобой потока ?


 
Anton. ©   (2005-05-14 12:58) [2]

Хорошо. вставляю после Socket.SendText("Server: My Srv"+#$0A);
 Socket.SendText("Content-length: 280915"+#$0A);

и ничего не меняется (280915 это как раз р-р потока).

Насколько я понимаю, эксплорер будет принимать пока сервер сокет не закроет.


 
Digitman ©   (2005-05-14 13:22) [3]


> Anton. ©   (14.05.05 12:58) [2]


для начала ответь самому себе на вопрос, почему в то время как SendText() есть функциональный метод, ты используешь его как процедурный, игнорируя результат


 
Anton. ©   (2005-05-14 14:32) [4]

SendText() возвращает кол-во отосланных байт для не блокирующего сокета. Можно по подробнее - как это использовать?
Да и исп-ся он только для отсылки заголовка, а файл шлется при помощи SendStream. Он тоже функциональный и возвращает булевское значение, сигнализирующее о том что весь поток был успешно отправлен.
Возвращает SendStream, как ни странно, True...



Страницы: 1 вся ветка

Текущий архив: 2005.08.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.036 c
6-1115955679
XProger
2005-05-13 07:41
2005.08.28
Размеры заголовков TCP и UDP пакектов


14-1122907620
Fay
2005-08-01 18:47
2005.08.28
Работает ли галочка "Oracle"?


4-1120629000
just
2005-07-06 09:50
2005.08.28
как отменить общий доступ к дискам (программно)


3-1121691780
GekaNaz
2005-07-18 17:03
2005.08.28
Ошибка - конец файла


1-1123054531
clickmaker
2005-08-03 11:35
2005.08.28
Диагональная линия через весь QuickReport