Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];

Вниз

Можно ли в поток добавить данные?   Найти похожие ветки 

 
Anatoly Podgoretsky ©   (2007-06-27 13:27) [80]

> sergeyst  (27.06.2007 12:17:16)  [76]

Вряд ли этот чат будет.


 
clickmaker ©   (2007-06-27 13:31) [81]


> [79] sergeyst ©   (27.06.07 13:19)

заведи рекорд
type TChatMessage = packed record
 From: array[0..50] of char;
 To: array[0..50] of char;
 MessageSize: integer;
 DateSent: TDateTime;
end;
это шапка сообщения
в MessageSize - Length(Edit.Text) к примеру - длина сообщения
Записывай в сокет (или по UDP) сначала этот заголовок, потом сам текст.
На приемной стороне читаешь заголовок, смотришь MessageSize и читаешь столько байт из сокета


 
Сергей М. ©   (2007-06-27 13:51) [82]


> не знаю как принять поток из сокета


Чтобы принять поток, нужно знать его размер.
А метод SendStream не передает инф-цию о размере потока.
Значит эту инф-цию нужно передать "ручками", до вызова SendStream.
Тогда принимающая сторона, ожидающая поток, должна принять сначала эту инф-цию, и уж на основании ее посредством одного или более вызовов метода ReceiveBuf принять собственно данные, переданные в контексте ожидаемого потока


 
sergeyst ©   (2007-06-27 13:53) [83]


> clickmaker ©   (27.06.07 13:31) [81]

А пакеты IdUDP сам собирает?
А если есть сообщения одновременно от нескольких пользователей?

> Anatoly Podgoretsky ©   (27.06.07 13:27) [80]

Почему?
Как сделаю, обязательно сообщу. Каким-нибудь вопросиком.


 
sergeyst ©   (2007-06-27 13:57) [84]


> Сергей М. ©   (27.06.07 13:51) [82]


> одного или более вызовов метода ReceiveBuf принять собственно
> данные

Как потом собрать?


 
Сергей М. ©   (2007-06-27 14:09) [85]


> Как потом собрать?


Записать в стрим-объект, последовательно в порядке поступления.


 
sergeyst ©   (2007-06-27 14:19) [86]


> Записать в стрим-объект, последовательно в порядке поступления.

М-м-м... Насколько я знаю, UDP-пакеты могут приходить в любой последовательности. Или это совет для TCP?


 
P   (2007-06-27 18:13) [87]


> sergeyst ©   (27.06.07 14:19) [86]


По части только приема-передачи файла это уже 5 команд

1. Запрос на получение файла
2. Ответ с информацией о файле, его сеансовом-id, частях, имени и пр.
3. Ответ в виде id части файла, смещения и размера части файла
4. Ответ в виде закрытия передачи файла определённого ID.
5. Запрос на прекращение передачи частей файла.


 
Сергей М. ©   (2007-06-28 08:20) [88]


> sergeyst ©   (27.06.07 14:19) [86]


> Или это совет для TCP?
>


Ну ты же речь-то завел о TServer/ClientSocket ? Так о каком же UDP ты рассуждаешь, если эти компоненты используют TCP ?



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

Форум: "Прочее";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.59 MB
Время: 0.061 c
15-1182500783
TUser
2007-06-22 12:26
2007.07.29
Паевые инвестиционные фонды


15-1183132718
ProgRAMmer Dimonych
2007-06-29 19:58
2007.07.29
Ещё один вопрос, призывающий к межклассовой борьбе


5-1157964828
Степан Журавлев
2006-09-11 12:53
2007.07.29
Разработка наследника TScrollingWinControl


6-1166732105
m00ngl0w
2006-12-21 23:15
2007.07.29
WinSock


15-1182946667
IMHO
2007-06-27 16:17
2007.07.29
Вопрос начальникам отделов программирования





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский