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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.61 MB
Время: 0.028 c
2-1183443768
tytus
2007-07-03 10:22
2007.07.29
TSocketConnection - познее связывание - - в другом потоке.


15-1183009073
Andy BitOff
2007-06-28 09:37
2007.07.29
Пятое измерение можно наблюдать в областях сверхгравитации


1-1179744976
Sidoran
2007-05-21 14:56
2007.07.29
Проблема с добавлением значения в TStringList


2-1183624901
nord489
2007-07-05 12:41
2007.07.29
MainMenu


2-1183490235
Сорокин М
2007-07-03 23:17
2007.07.29
image на button