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

Вниз

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

 
Сергей М. ©   (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;
Скачать: CL | DM;

Наверх




Память: 0.63 MB
Время: 0.03 c
15-1183111920
homm
2007-06-29 14:12
2007.07.29
У кого есть ветка «форматирование диска без участия пользователя»


2-1183450957
ChaoX
2007-07-03 12:22
2007.07.29
Как напечатать из Paintbox?


15-1183469880
@!!ex
2007-07-03 17:38
2007.07.29
Добавить пункт в меню программы на Taskbar e.


4-1171380174
niko_
2007-02-13 18:22
2007.07.29
Блокировка кнопок WIN и Alt+Tab


2-1183368943
Tonich
2007-07-02 13:35
2007.07.29
COM-порт