ببینید ما چی داریم :با سلام
بنده پس از چندی تحقیق یه روش خوب پیدا کردم.
scanline
و ارسال استرینگ به سرور.
نظرتون چیه.
یه صفحه مانیتور کلاینت ، یه سیستم مرکزی و یه خط ارتباطی بین اونا .
خوب اگه قراره یه تصویر از سیستم کلاینت روی سیستم مرکزی نشون داده بشه ارسال اون تصویر چطوری میتونه باشه .
خوب تصاویرو چطوری ذخیره میسه کرد؟ بوسیله فرمتای مختلف موجود .
خوب پس به نظر من چیزی غیر از تصویر نباید انتقال داده بشه .
استفاده از تصویر با فرمت JPG حجم فایل رو خیلی کم میکنه . اگر کسی فرمت بهتری سراغ داره بگه .
استفاده از ScanLine به نظر من گزینه مناسبی نیست چون اولا از توابع API خیلی بهتر و سریعتر میشه استفاده کرد و دوما" هم مشکل ما اصلا انتقال سریعتر هستش نه عکس گرفتن سریعتر .
به نظر من بدست گرفتن رویداد Paint ( رویدادی که ویندوز وقتی آن را فراخوانی میکند که یک قسمت ، تاکید میکنم : یک قسمت از صفحه نمایش را بازسازی می کند ) و ارسال آن تکه از تغییرات با فرمت JPG راه حل بسیار خوبی باشد .
برای مثال تصور کنید کاربر موس خود را حرکت میدهد ( در این هنگام هیچ تصویری رد و بدل نمی شود و فقط مختصات موس ارسال شده و روی سیستم مرکزی ،روی آخرین تصویر ارسالی کشیده و نمایش داده می شود ) و روی دکمه Start می برد ، در این موقع رویداد Paint ویندوز فراخوانی میشود و "فقط خود دکمه استارت" را بازسازی میکند ( در این موقع برنامه مختصات و اندازه محل بازسازی شده را گرفته و یک عکس کوچک از آن محل می گیرد و به همراه مختصات به سیستم مرکزی منتقل میکند ) .
به مثال بالا توجه کنید : اگر قرار بود کل صفحه ارسال شود و رزولوشن صفحه را هم مثلا 800x600 در نظر بگیریم این کار 200 برار وقتی است که دکمه استارت را مثلا در اندازه 80x30 فرض کنیم .
تازه این را هم در نظر بگیرید که در بیشتر مواقع فقط موس است که حرکت می کند و سرعت ارسال یک مختصات ساده خیلی زیاد و در مثال بالا حدود 240000 برابر است .