Bugün yine ilginç bir yazılım yaklaşımıyla karşınızdayım. Konumuz uzaktan bilgisayarları izleme vb yani Remote screen monitoring. İzlerken aynı zamanda mesaj da gönderebilmeli ve o uzak bilgisayardan yazılım veya istediğimiz dosyaları da indirebilmeliyiz vb..
Bu uygulamanın tam canlı örneğini Youtube da izleyebilirsiniz.. Linki :
Direkt olarak video linki: https://www.youtube.com/watch?v=vTqLQxkwQ30
Diğer videolarımın linki :
https://www.youtube.com/user/socialmediagent
2 projemiz var. Biri desktop olarak kodlanacak ve agent olarak çalışan veya izlemek istediğimiz bilgisayarlarda çalışacak. Diğeri ise bir web server da çalışacak MVC olarak yazılabilecek bir web uygulaması. MVC de bildiğiniz gibi modelimiz, view umuz ve işleri esas yapan controller larımız var. Çok detaya girmeyeceğim.
Yapmamız gereken şu: Agent da çalışan uygulama ile web de çalışan ve ekranları görmemizi sağlayacak uygulamayı konuşturmak ve anlaştırmak. !. Bunun için agent ekran resmini çekecek bir yerlerde saklayacak ??!!! Server da bunu alıp ekranda gösterecek. Web uygulamaları session da verileri saklar veya viewstate veya out of process vb saklar. Demek ki biz desktop dan verileri web server yazılımı görsün diye ortak bir alanda saklamamız lazım. Session da saklayacağız. Olmaz demeyin bakın nasıl oluyor. Bir asmx web servis handler ı oluşturacağız. Bunun Poll ve Process diye sadece 2 metodu olacak. Bu metodlara desktop erişip resmi vb buraya gönderecek ve işte bu asmx handler ı session da saklayacak. Tabii her agent ın bir agentid si var ki bu unique oluyor. Bunu uygulama desktop da her başladığında kendisi GUID ile oluşturacak. Handler a erişip verileri koyduk. Server daki web uygulaması da belli zamanlarda bunu agent id leri ile poll yani alıp çekiyor, kullanıyor. Web tarafı aynı mekanizma ile agent ile konuşuyor tam ters şekilde ve aynı şekilde agent da bu handler a gidip veriyi poll yani alıp kendine getiriyor ve işlem yapıyor.
Olayın yaklaşımı ve anahtar noktası bu.. Daha detayı ve canlı örneğini youtube da ki video da görebilirsiniz.
Kalın sağlıcakla..
Selcuk Celik