Форум: "Прочее";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];
ВнизМожно ли в поток добавить данные? Найти похожие ветки
← →
Сергей М. © (2007-06-26 16:38) [40]
> а что там браться
Где "там" ?
Ты свой ПИО уже разработал ? Или взял на вооружениие чужой ?
Только - я тебя умоляю - не говори, что не понимаешь, что такое информационный обмен и что такое протокол (евойный в частности)
← →
sergeyst © (2007-06-26 16:45) [41]>Сергей М. © (26.06.07 16:38) [40]
Хорошо.
Это что P (26.06.07 16:37) [39] сказал? Это не долга. А потом что ж, как получил команду на прием файла, то что?
← →
Сергей М. © (2007-06-26 16:48) [42]
> то что?
>
Известно что - передать файл)
← →
Mike Kouzmine © (2007-06-26 16:49) [43]Сергей М. © (26.06.07 16:48) [42] Принять. Не путай.
← →
sergeyst © (2007-06-26 16:50) [44]>Известно что - передать файл)
Что мне говорить TClient/server?
← →
Mike Kouzmine © (2007-06-26 16:53) [45]sergeyst © (26.06.07 16:50) [44] Каждый говорит свое.
← →
homm © (2007-06-26 16:53) [46]> Что мне говорить TClient/server?
зум-зум? :)
← →
Сергей М. © (2007-06-26 16:56) [47]
> Mike Kouzmine © (26.06.07 16:49) [43]
> Принять.
Прежде чем что-то принимать, надо уметь это "что-то" передать. И то и другое тесно связано с единым для приемника и передатчика ПИО. О нем как раз и речь идет, и им пока еще не пахнет)
> Что мне говорить TClient/server?
>
Тому кто передает говорить "SendЧЕГОТОТАМВСООТВЕТСТВИИСПИО", тому кто принимает - ""ReceiveЧЕГОТОТАМВСООТВЕТСТВИИСПИО""
← →
Mike Kouzmine © (2007-06-26 17:03) [48]Сергей М. © (26.06.07 16:56) [47] Автор хочет узнать об абстрактной модели, например, как реагировать на команду "принять файл" и что при этом говорить.
← →
Сергей М. © (2007-06-26 17:11) [49]
> Mike Kouzmine © (26.06.07 17:03) [48]
> что при этом говорить
Кому говорить-то ?
Если передатчику, то он уже все сказал командой "принять файл", приемнику остается только молча исполнить команду)
← →
Сергей М. © (2007-06-26 17:13) [50]Предлагаю обсудить любой другой простейший ПИО, ну, скажем, на примере диалога покупателя с продавцом у пивного ларька).. Довольно показателен, кстати)
← →
Mike Kouzmine © (2007-06-26 17:14) [51]Сергей М. © (26.06.07 17:11) [49]
Ну, например, "сим-сим" - мол готов к приему!
Но, думаю, он имел ввиду вслух.
← →
Плохиш © (2007-06-26 17:14) [52]
> Предлагаю обсудить любой другой простейший ПИО, ну, скажем,
> на примере диалога покупателя с продавцом у пивного ларька
- Пива НЕТ!!!
и чё тут протоколировать? ;-)
← →
Сергей М. © (2007-06-26 17:16) [53]
> мол готов к приему
Так это же и есть, по сути, команда "передай мне что-то там" !
И тот кто должен передать, вправе начать это делать немедленно, ибо принятая команда и есть факт готовности к приему.
← →
Сергей М. © (2007-06-26 17:18) [54]
> Пива НЕТ!!!
>
> и чё тут протоколировать
Протокол подразумевает, что покупатель подойдя к пивному ларьку может молчать, ибо вариант с таким ходом диалога имеет право на существование)...
← →
Плохиш © (2007-06-26 17:20) [55]Покупатель притаранил PS/2 мышу, желая прикупить пыва для пятикласника, а ему продавец в рыло и "а нефиг мени мышами пугать..."
← →
P (2007-06-26 17:56) [56]
> sergeyst © (26.06.07 16:45) [41]
>
> >Сергей М. © (26.06.07 16:38) [40]
> Хорошо.
> Это что P (26.06.07 16:37) [39] сказал? Это не долга.
> А потом что ж, как получил команду на прием файла, то что?
>
Отослать другую команду, называемую "файл", где в данных команды этот файл и сопутствующая информация типа названия и будет лежать.
А еще лучше разбить файла на части и отослать в нескольких командах, которые на стороне получателя будут собраны в один файл.
← →
sergeyst © (2007-06-27 08:27) [57]>P (26.06.07 17:56) [56]
>Отослать другую команду, называемую "файл", где в данных команды этот >файл и сопутствующая информация типа названия и будет лежать.
>А еще лучше разбить файла на части и отослать в нескольких командах, >которые на стороне получателя будут собраны в один файл.
Вот это-то я и пытаюсь узнать(конкретно для TClientSocket/Server), а пыво в ларьке я знаю как купить.
← →
Сергей М. © (2007-06-27 09:32) [58]
> конкретно для TClientSocket/Server
Опять ты за свое !
Ну причем здесь TClientSocket/Server ? На месте этих компонентов с тем же успехом могут быть использованы и любые другие подходящие. Задача компонентов транспортного уровня - организовать соединение и гонять туда-сюда некие неважно какие данные.
А вот какие конкретно данные (их тип, размер, прикладной смысл), в какой последовательности и в каком направлении "гонять" - вот с этим ты и должен определиться в первую очередь, и только потом браться за кодирование алгоритма.
Так бери карандаш с бумагой, садись и распиши этот ПИО в деталях !
← →
sergeyst © (2007-06-27 10:04) [59]
> Сергей М. © (27.06.07 09:32) [58]
Слухаюсь!
#HiAll - вход в систему, отсылается всем
#HiSle - ответ на приветствие
#Talki - принять текст
#CauFi - принять файл
#FuAll - вышел
Это я должен сделать в первую очередь?
← →
Сергей М. © (2007-06-27 10:37) [60]Ну вот, уже что-то)
Теперь более подробно:
> #HiAll - вход в систему, отсылается всем
#HiAll - это, константа ? Какая - строковая или числовая ? Размер ?
Кем отсылается ?
← →
sergeyst © (2007-06-27 10:51) [61]#HiAll + " " + UserNick
#HiSle + " " + UserNick
#Talki + " " + redtSend.Text
#FuAll + " " + UserNick
#CauFi + " " + FileName - вот, а тут-то что дальше?
← →
sergeyst © (2007-06-27 11:11) [62]>#HiAll - #HiAll - это, константа ? Какая - строковая или числовая ? Размер ?
>Кем отсылается ?
константа, строковая, SizeOf
← →
homm © (2007-06-27 11:15) [63]> [62] sergeyst © (27.06.07 11:11)
Не SizeOf, а до первого пробела, судя по тому что ты написал.
← →
Сергей М. © (2007-06-27 11:15) [64]Кем отсылается ?
← →
Сергей М. © (2007-06-27 11:20) [65]
> sergeyst
Ты вообще какой чат пытаешься слепить - децентрализованный или в выделенным чат-сервером (серверами) ?
Это же важно ! С этого и начинать надо)
← →
sergeyst © (2007-06-27 11:25) [66]
> homm © (27.06.07 11:15) [63]
Не знаю зачем нужен размер, но ест-но, что до пробела.
>Кем?
UserNick нужен или Host?
Host, вроде, тут: Socket.RemoteHost или, если прием будет происходить не в обработчиках Client/Server, то при отправке: Socket.LocalHost
← →
sergeyst © (2007-06-27 11:27) [67]
> Сергей М. © (27.06.07 11:20) [65]
Скорее децентрализованный (если я правильно понял) .
← →
homm © (2007-06-27 11:30) [68]Может хватит уже мучить себя и других? Взгляни уже сюда
> [36] Kerk © (26.06.07 16:22)
← →
Сергей М. © (2007-06-27 11:31) [69]
> UserNick нужен или Host?
Причем здесь это ?
Кто кому отсылает это самое HiAll - клиент серверу или клиент всем прочим клиентам сервера ?
← →
Сергей М. © (2007-06-27 11:33) [70]
> sergeyst © (27.06.07 11:27) [67]
>
>
> > Сергей М. © (27.06.07 11:20) [65]
>
> Скорее децентрализованный
И как же клиенты твоего чата будут находить друг-друга ?
← →
sergeyst © (2007-06-27 11:39) [71]>Кто кому отсылает это самое HiAll - клиент серверу или клиент всем >прочим клиентам сервера ?
М-да... Пожалуй, соглашусь с homm © (27.06.07 11:30) [68]. Всем спасибо.
← →
sergeyst © (2007-06-27 11:43) [72]>И как же клиенты твоего чата будут находить друг-друга ?
Э-э-э... idUDP
← →
Сергей М. © (2007-06-27 11:53) [73]
> sergeyst © (27.06.07 11:43) [72]
Так ведь и для этого тоже ПИО требуется разработать !
С этого и начинай)
Кстати, а накой ляд тогда TClient/ServerSocket"ы нужны ?
Ну и сотворяй все на основе UDP ! Зачем эта солянка сборная из UDP+TCP нужна ? Ты сам-то себе можешь дать разумное объяснение такой необходимости ?
А даже если и есть такая необходимость, ты осознаешь, что успешная работа твоего чата в условиях глоб.сети невозможна ?
← →
sergeyst © (2007-06-27 11:59) [74]
> Сергей М. © (27.06.07 11:53) [73]
Солянка, конечно, лишнее, мягко говоря. Просто мне показалось, что войти лучше по UDP, а пересылать файлы по TCP(то бишь проще).
← →
Сергей М. © (2007-06-27 12:05) [75]
> войти лучше по UDP
Куда "войти"-то ?
У тебя же нет центрального чат-сервера)
← →
sergeyst © (2007-06-27 12:17) [76]
> Куда "войти"-то ?
Этот чат будет частью проги, работающей с БД. Вот "войти" - значить пользователь запустил эту самую прогу и готов к общению( есть(будут) два типа сообщений: простой разговор - нет пользователя, нет и разговора и служебные сообщения, которые(только служебные), в случае недоступности пользователя, будут сохраняться в БД, а когда он включится, то ему сообщ. типа табе тама малява). Можно пересылать файлы через БД, но не хочется. Просто не хочется.
← →
homm © (2007-06-27 12:21) [77]> Можно пересылать файлы через БД, но не хочется
Лучше архивы прогрессбаром распаковывать ;)
← →
Сергей М. © (2007-06-27 12:24) [78]
> "войти" - значить пользователь запустил эту самую прогу
> и готов к общению
Прелюбопытное определение)
Но причем здесь пользователь, если речь идет об алгоритме программы как таковой ?
← →
sergeyst © (2007-06-27 13:19) [79]
> Сергей М. © (27.06.07 12:24) [78]
Ну какой алгоритм? Я просто не знаю как принять поток из сокета. И передать тоже. Edit.Text := "sdfg"; - Вот этого я не знаю, в переносе на сокеты.
> homm © (27.06.07 12:21) [77]
А где сообщ. хранить?
ЗЫ.Кому нравится околокружие?
← →
Anatoly Podgoretsky © (2007-06-27 13:27) [80]> sergeyst (27.06.2007 12:17:16) [76]
Вряд ли этот чат будет.
Страницы: 1 2 3 вся ветка
Форум: "Прочее";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];
Память: 0.61 MB
Время: 0.065 c