


Delphi 7. Работа с BitMap и сокетами.
Хочу написать программу для демонстрации текущего экрана на удаленке. Собираюсь использовать примерно такой кусок кода для записи экрана
bmp := TBitmap.Create;
bmp.Width := Screen.Width;
bmp.Height := Screen.Height;
BitBlt(bmp.Canvas.Handle, 0,0, Screen.Width, Screen.Height, GetDC(0), 0,0,SRCCOPY);
а потом передать это через сокет. Вопрос - можете написать какой-нибудь нормальный источник, где можно почитать о использовании сокетов и передачи через них файлов и не текстовых переменных? Как я понял, мне нужно использовать или SendBuf(var Buf; Count: Integer) или SendStream(AStream: TStream), но (чтоб этот гребанный интернет!) примеров с подробным описанием не нашел, только голимая копипаста.
Лет 8 назад, тоже интересовался этим вопросом. Даже свой протокол придумывал, необходимость отпала не стал заморачиваться. Очень мало информации по передачи не текстовой информации через сокет.
Писал нечто подобное, но это все дома - а я на работе)
ну вопервых сколько изображений в секунду сможешь передавать с экрана размером 1920*1200*3 = 7 мб
во вторых кусочек показывать или масштабировать в окно на удалённом компев третьих - если это будет через интернет - каким образом обойти файрволы и передавать данные в активном режиме? да и про прокси не забываем... в общем полюбому нужен сторонний сервер
ну и в четвёртых - я вот чё-то так и не нашёл как сжимать в jpg в памяти и потом в памяти же эту картинку разжать и преобразовать в битмап пригодный для вывода битблитом на экран. Кусков кода в интернете на делфи полно, есть всё чё угодно, но не то что нужно...
ну и в пятых - работа с сокетами вроде штука простая, но тоже надо поразбираться в последовательности действий и придумать какой-то протокол обмена данными.