Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1183401670
RIMED
2007-07-02 22:41
2007.07.29
изменить размеры IE окна (глянуть HTML код)


2-1183463152
WASM
2007-07-03 15:45
2007.07.29
Как определить нажатые клавиши


2-1183357283
Aibio
2007-07-02 10:21
2007.07.29
работа с MSSQL2000


15-1182861256
de.
2007-06-26 16:34
2007.07.29
О Delphimaster


2-1183533375
Стас
2007-07-04 11:16
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский