Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Попытка написать rAdmin. Вопросы по Indy [D7, WinXP]


Страницы:   1 2 3

KOLYA-rzn ©   (2006-09-01 21:16:00) 

Очередная моя попытка написать программу. И сразу несколько вопросов по Indy IdTCP..:
1) Можно ли принимать через readbuffer различные типы?? Если да, то как.(*поясняю я буду посылать различные запросы, иногда файлы, иногда картинки , используя один сервер.Как лучше это реализовать)
2)Говорят, что посылать картинку лучше 1-ую в bmp , а вторую - как bmp2 xor bmp1 . Но примера этому не нашел. Как это реализовать??
3)Как можно сделать закачку с отображением процесса? Я хочу сделать файловый менеджер.

Вот и всё хотел я сделать через один сервер. Возможно ли это?


Cyrax   (2006-09-04 10:08:00) [21]

> конечно нужен протокол причем можно начать с простейшего и все передавать явном виде, потом быстро придет понимание того что оставить, а что выкинуть

В явном виде - это как ?


dwar   (2006-09-04 04:54:00) [22]


> Но для полноценного RAdmin'а, конечно, нужен полноценный
> прикладной протокол...

конечно нужен протокол причем можно начать с простейшего и все передавать явном виде, потом быстро придет понимание того что оставить, а что выкинуть


Cyrax   (2006-09-03 23:38:00) [23]

KOLYA-rzn   (03.09.06 22:53) [18]

Так всё-таки остановился на Indy?


Ketmar   (2006-09-03 23:10:00) [24]

> Напишите пример передачи данных с прогресс баром.
можут, сразу весь код?


KOLYA-rzn   (2006-09-03 22:53:00) [25]

Вот моё решение :
1)
Byte1:=2;
SendBuf(Byte1,SizeOf(Byte));
Server:
RecieveBuf(Byte1,SizeOf(Byte));
case Byte1 of
1:s:=RecieveText....;
2:s:=RecieveBuf(TFileStream,Socket.RecieveLenght)
....
Так правильно?
2) Напишите пример передачи данных с прогресс баром.
может быть:
Byte1:=2;
//of Byte1:=3 if not start of file
SendBuf(Byte1,SizeOf(Byte));
SentBuf(ArrayOfBytes,SizeOf(ArrayOfBytes));
'клиент аналог ^^


Cyrax   (2006-09-03 16:22:00) [26]

Eraser ©   (03.09.06 15:36) [16]

Думаю, для простой системы передачи разнородных данных этого достаточно.
Но для полноценного RAdmin'а, конечно, нужен полноценный прикладной протокол...


Eraser   (2006-09-03 15:36:00) [27]

> [15] Cyrax ©   (03.09.06 15:08)

к чему только этот протокол прикладывать? или ты проектируешь систему передачи типов?, тогда да, все правильно :)


Cyrax   (2006-09-03 15:08:00) [28]

Eraser ©   (03.09.06 13:38) [14]
...сперва посылаешь тип передаваемых данных 1 байт byte, каждый
тип имеет свою константу...
> эт ещё что за ерунда
> сейчас речь о прикладном протоколе, который тебе прийдется изобретать


Чем тебе не простейший прикладной протокол ?
И типы, и размер данных определяет...


Eraser   (2006-09-03 13:38:00) [29]

> [13] Cyrax ©   (03.09.06 08:36)

при чем тут TCP?

сейчас речь о прикладном протоколе, который тебе прийдется изобретать.


Cyrax   (2006-09-03 08:36:00) [30]

Eraser ©   (03.09.06 00:48) [12]
эт ещё что за ерунда, какой тип данных отсылать или принимать решает протокол в общем случае.

Ну и какие типы данных передаёт протокол TCP ???
Отень интелесно...


Eraser   (2006-09-03 00:48:00) [31]

> [2] Dmitrij_K   (01.09.06 21:53)


> сперва посылаешь тип передаваемых данных 1 байт byte, каждый
> тип имеет свою константу

эт ещё что за ерунда, какой тип данных отсылать или принимать решает протокол в общем случае.


Cyrax   (2006-09-02 23:46:00) [32]

KOLYA-rzn   (02.09.06 22:55) [10]
> в нете не могу найти по этому поводу инфы

По поводу того, как передавать данные по сети через TCP/IP?
Или конкретно по Indy?

И вообще, ты работал с TCP/IP?  Если да, то какие средства использовал: напрямую с winsock, netapi или компоненты вроде Indy?


KOLYA-rzn   (2006-09-02 22:55:00) [33]

Мне кажется я что-то не понимаю, но в нете не могу найти по этому поводу инфы.


Cyrax   (2006-09-02 22:17:00) [34]

KOLYA-rzn   (01.09.06 22:33) [3]
> Тогда возникает вопрос а целесообразно ли переходить на indy???

Переходить на Indy с чего?  Indy тоже работает через winsock...

KOLYA-rzn   (02.09.06 12:19) [5]
> в этом то и проблема в безошибочном определении типа...

Наверху писали:
сперва посылаешь тип передаваемых данных 1 байт byte, каждый тип имеет свою константу, далее размер данных 4 байта Integer, а потом сами данные, в таком порядке принимаешь

KOLYA-rzn   (02.09.06 12:19) [5]
> не представляю себе: файл сам по себе передается через filestream и узнать его размер(полученный) будет проблематично

Через какой filestream (рассматриваем Indy?)...
И в чём заключается проблема?..


KOLYA-rzn   (2006-09-02 17:29:00) [35]

>Virgo_Style ©   (02.09.06 16:28) [6]
естественно в jpeg


Ketmar   (2006-09-02 16:48:00) [36]

> [5] KOLYA-rzn   (02.09.06 12:19)
учить матчасть. читать справку.


Virgo_Style   (2006-09-02 16:28:00) [37]

2. Если посылать как bmp, то без разницы


KOLYA-rzn   (2006-09-02 12:19:00) [38]

2dwar
1.в этом то и проблема в безошибочном определении типа...
3.не представляю себе: файл сам по себе передается через filestream и узнать его размер(полученный) будет проблематично.


dwar   (2006-09-02 09:32:00) [39]

1.Можно буффер принимает данные типа byte,так что ему в принципе все равно что это за тип, надо просто разработать протокол обмена данными чтоб однозначно определять тип и размер.
3. Зная из протокола обмена размер можно сделать без особых усилий


KOLYA-rzn   (2006-09-01 22:33:00) [40]

2Ketmar ©
возможно но отдельно писать не имеет смысла т.к. я представляю себе этот код
2Dmitrij_K
Спасибо ! Но в этом примере используются Соккеты... Тогда возникает вопрос а целесообразно ли переходить на indy??? Напиши мал. пример клиент/сервер О распозн типов напр. Type1-Type2. я на примере лучше понимаю.
+
4)Могу ли записать в тип Type1= record массив байтов?


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо