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

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

пересылка скриншота по стеку протоколов TCP/IP [D7, Win95/98, WinME, NT4, Win2k, WinXP]


Nekrom@NT ©   (2005-04-17 19:03:00) 

Помогите срочно!!! Плз. дайте исходник пересылки скрина по тисипи юзаю ClientSocket & ServerSocket


kami   (2005-04-20 15:17:00) [1]

2 [16] atruhin ©   (20.04.05 09:10)

<offtopic>
Где мои 50$?  :)))
</offtopic>


Digitman   (2005-04-20 14:16:00) [2]


> не работает во вторых


а во-первых работает ?


> мне всего 13


в 13 пора бы уже со знаками препинания разобраться)


> я всЁЁЁЁ протрасил во все стороны


ой врешь ведь !

трассил ты свой код, а не реализацию метода SendStream()
вот если бы ты и его "протрасил", то увидил бы, что св-во ms.Position после Bitmap.SaveToStream(ms) указывает на конец стрима, в то время как SendStream() начинает "передачу" стрима именно с той точки, на которую указывает ms.Position.


atruhin   (2005-04-20 09:10:00) [3]

>>kami ©   (19.04.05 19:52) [15]
Могу на $50 поспорить, не поможет. :)


kami   (2005-04-19 19:52:00) [4]

А как на счет попробовать перед
Socket.SendStream(ms);
сделать
ms.seek(0,soFromBeginning)?


Piter   (2005-04-19 18:45:00) [5]

Nekrom@NT ©   (19.04.05 17:46) [12]
во вторых мне всего 13


ну так подрасти и приходи тогда


Nekrom@NT   (2005-04-19 17:48:00) [6]

Уточняю, то что ещё не.
Поток не посылается.
При этом если Memory заменить на File то всё работает, но мне нужно чтоб в реальном времени (как в RemoteAdministrator'e)


Nekrom@NT   (2005-04-19 17:46:00) [7]

задрали Socket.SendStream(ms);
не работает во вторых мне всего 13. И я всЁЁЁЁ протрасил во все стороны(места(как хотите)!)


Digitman   (2005-04-19 12:31:00) [8]


> atruhin ©   (19.04.05 12:14) [10]


вот мне и интересно, может ли автор "галиматьи" два-три слова в осмысленное предложение связать ... тем паче что это ЕМУ надо, а не мне .. и не тебе ... вот нехай и учится задавать вопросы, а не кричать на всю ивановскую, мол, не работает и все тут ..


atruhin   (2005-04-19 12:14:00) [9]

>>ЧТО не работает ? КАК это проявляется ? ЧТО показывает трассировка ?
А что там может проявляться? Там же полная галиматья написана, независимо от того в каком режиме сокет работает. Либо выдаст ошибку что буффер пустой, либо будет висеть если режим блокирующий.


Digitman   (2005-04-19 11:40:00) [10]


> Nekrom@NT ©   (19.04.05 11:19) [8]


и не будет.
и незачем, кстати, так орать.
ЧТО не работает ? КАК это проявляется ? ЧТО показывает трассировка ?

дитё что ль малое ? в бирюльки здесь играемся ? приводи конкретности - кратко, внятно, точно, с максимумом достоверных подробностей.


Nekrom@NT   (2005-04-19 11:19:00) [11]

не работает!!!!!!!!!!!!!!!!!!!!!!!!


Digitman   (2005-04-19 10:03:00) [12]


> спятолсябаг


какой баг-то ?


Nekrom@NT   (2005-04-19 09:41:00) [13]

блин ладно! где спятолсябаг:
client:
fs:= TMemoryStream.Create;
       try
         while True do
         begin
           nReceived := Socket.ReceiveBuf (Buffer, sizeof (Buffer));
           if nReceived <= 0 then
            Break
           else
           fs.Write (Buffer, nReceived);
           // delay (200 milliseconds)
           Sleep (200);
         end;
         // reset and load the temporary file
         fs.Position := 0;
         Image1.Picture.Bitmap.LoadFromStream (fs);
       finally
         fs.Free;
       end;

Server:
ms:=TMemoryStream.Create;
  GetScreen;
  Image1.Picture.Bitmap.SaveToStream(ms);

  Socket.SendStream(ms);


atruhin   (2005-04-19 07:26:00) [14]

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


Nekrom@NT   (2005-04-19 06:37:00) [15]

http://kladovka.net.ru/index.php?action=downloadfile&filename=ScreenshotTransmitExample.zip&directory=Programsжутко длинный, я гораздо проще и короче делал, но ЗАБЫЛ!!!!!!!!!

http://kladovka.net.ru/index.php?action=downloadfile&filename=ScreenshotTransmitExample.zip&directory=Programs-криво!!!


VMcL   (2005-04-17 21:51:00) [16]

>> Nekrom@NT ©   (17.04.05 19:03)

http://kladovka.net.ru/index.php?action=downloadfile&filename=ScreenshotTransmitExample.zip&directory=Programs


Piter   (2005-04-17 19:27:00) [17]

$25


ламер_   (2005-04-17 19:27:00) [18]

Проще всего:
ClientSocket.Socket.SendStream(fstreamScreenShot)

А принимать - в ServerSocket.OnClientRead, блоками
Общий принцип - http://www.delphimaster.ru/articles/socksrv/index.html


Наверх

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