• Yapay zekadan makale özeti

    • Bu video, bir eğitmen tarafından sunulan programlama eğitim içeriğidir. Eğitmen, TCP sunucu sınıfının kullanımını adım adım göstermektedir.
    • Video, arayüz tasarımı ile başlayıp, TCP sunucu sınıfının kullanımını detaylı şekilde anlatmaktadır. Eğitmen önce label, slider, buton ve LED gibi bileşenleri tanımlar, ardından "Main" adlı bir sınıf oluşturarak gerekli değişkenleri tanımlar. Daha sonra server başlatma, iletişim başlatma, veri gönderme ve alma fonksiyonlarını yazarak TCP iletişimini nasıl gerçekleştireceğini gösterir.
    • Eğitim içeriğinde get-set fonksiyonları, bağlantı durumunu gösteren LED, timer ile arayüzü güncelleme işlemleri ve bağlantı başlatma/kapatma fonksiyonları da yer almaktadır. Video, uygulamanın çalıştığını test etme ile sona ererken, bir sonraki videoda client kısmının yazılacağı ve iki uygulamanın beraber çalıştırılacağı belirtilmektedir.
    TCP Server Arayüzü Hazırlama
    • Video, önceki videoda hazırlanan TCP server sınıfının nasıl kullanılacağını göstermektedir.
    • Arayüzde bir label, server başlatma butonu, bağlı client'ın IP adresi, bağlantı durumunu gösteren LED ve progress bar kontrolü için slider bulunmaktadır.
    • Kodun sade tutulması için tüm önemli işlemleri yapacak "main" adında bir sınıf oluşturulacaktır.
    00:43Main Sınıfında Değişken Tanımlama
    • Main sınıfında client message, led color, target position ve TCP server parametreleri için değişkenler tanımlanmaktadır.
    • Server başlatma fonksiyonu için "start server" adında bir fonksiyon yazılacaktır.
    • Server nesnesi oluşturulurken port ve buffer size gibi parametreler atanmaktadır.
    02:25Server ve Client Bağlantıları
    • Server başlatma fonksiyonunda server'ın IP'si ve client IP'si alınmaktadır.
    • Client başlatmak için "start communication thread" adında bir fonksiyon yazılacaktır.
    • Communication thread'i, timer ile belirlenen frekansta çalışacak ve hem gönderme hem alma işlemlerini gerçekleştirecektir.
    04:02Veri Gönderme ve Alma Fonksiyonları
    • Server client'a gidecek olan datayı hazırlamak için "send client data" fonksiyonu yazılacaktır.
    • Client'dan gelen datayı okumak için "get data" fonksiyonu yazılacaktır.
    • Paket yapısında client'dan gelen veriler (mesaj, LED renkleri) ve server'dan client'a gidecek veriler (target position) tanımlanmaktadır.
    06:37Veri İşleme ve Güvenlik
    • Client'dan gelen mesajın uzunluğu, önce gönderilen 2 byte'lık uzunluk verisi kullanılarak tespit edilmektedir.
    • LED renkleri ve mesajlar bayt'tan string'e dönüştürülerek kullanılmaktadır.
    • Aynı veriye birden fazla yerden erişim yapılması durumunda çakışma ve programın kilitlenmesi riski olduğu için lock kullanılacaktır.
    08:55Get ve Set Fonksiyonları ile Nesne Erişim Kontrolü
    • Get fonksiyonu içerisinde lock verilerek client message nesnesi döndürülür ve birisi bu nesneye ulaşmaya çalıştığında kilitlenir.
    • Set fonksiyonu içerisinde private set kullanılarak message dışarıdan yazılmasını engellenir ve lock nesnesi kullanılarak atama işlemi yapılır.
    • Bağlantı durumunu göstermek için "client connected" adında bir değişken tanımlanır ve bu değişken de locklanır.
    10:07Bağlantı Kontrolü ve Durdurma İşlemi
    • Get client fonksiyonu içerisinde seft data null değilse işlemler yapılır, null ise bağlantı kopmuş demektir ve client connected değişkeni false yapılır.
    • Durdurma kodu için önce bağlantı kapatılır, sonra servo objesi null atanır ve communication thread durdurulur.
    • Main kodu hazırlandıktan sonra arayüze gidip birkaç fonksiyon çağrılması gerekiyor.
    11:22Arayüz Güncelleme ve Timer İşlemleri
    • Start server butonuna basıldığında server'ı açmak veya kapatmak ve timer içerisinde arayüzü sürekli güncellemek için iki işlem yapılır.
    • Update timer fonksiyonu 25 Hz frekansta arayüzü güncellemek için kullanılır ve her 40 milisaniyede bir update ui fonksiyonu çağrılır.
    • Timer durdurma işlemi için null kontrolü yapılır, null değilse parametreler değiştirilir ve dispose fonksiyonu ile kaynaklar serbest bırakılır.
    13:09Timer ve Update UI Fonksiyonları
    • Timer fonksiyonu içerisinde geçen süreyi ölçmek için stopwatch tanımlanır ve update fonksiyonu çağrılır.
    • Update fonksiyonunda geçen süre timer periyotundan azsa, kalan süre kadar bekleyip tekrar kesme oluşturulur.
    • Update ui fonksiyonunda main null değilse dispatcher komutu kullanılarak asenkron olarak arayüz güncellenir.
    15:32Arayüz Güncelleme İşlemleri
    • LED color güncellenir, client message değeri boş string atayılır veya textbox'a yazdırılır.
    • Client IP ve server IP değerleri güncellenir, slider'ın değeri main target position değerine atanır.
    • Bağlantı durumunu gösteren LED güncellenir ve window closing durumunda bağlantılar kapatılır.
    16:59Buton İşlemleri ve Test
    • Start server butonuna bir kere basıldığında bağlantı açılır, tekrar basıldığında bağlantı kapatılır.
    • Kod test edildiğinde başlangıçta rastgele bir değer yazılır, server başlatıldığında bilgisayarın IP'si gelir ve client IP'si boş kalır.
    • Bir sonraki videoda client kısmının baştan sona yazılacağı ve iki uygulamanın beraber çalıştırılıp test edileceği belirtiliyor.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor