Merhaba arkadaşlar,
Gebze Teknik Üniversitesi 2016-2017 döneminde, Proje-II dersi kapsamında yaptığımız projede(çalışmayı github hesabımda bulabilirsiniz) ihtiyacımız olan haberleşmeyi çalışma arkadaşımla hazırladım. Basit bir versiyonunu, aynı örneği bulamadığımdan benden sonraki arkadaşlara kolaylık olsun diyerek hazırladım. Qt Quick örnekleri az bulunur nitelikte, özellikle Qt dökümanlarında baktığım zaman Qt Widget ile hazırlanmış uygulamalar görmekteyim. Butonların ilişkisi vb. durumlar Qt Quick'te farklı işlemekte. Gerek bu açıdan, gerek haberleşme açısından kodu inceleyebilirsiniz.
QtSocket olsun, o soket olsun bu soket olsun farketmez, iletişimde temellerin çok değiştiğini görmedim. Soket uygulamalarında server tarafında iseniz:
1. İlgili datalarınız varsa(adres ve sokete dair struct'lar, classlar vb.) initialize edersiniz.
2. Yeni bir soket açarsınız.
3. Soketi bind edersiniz(bağlarsınız).
4. Sokete gelen bağlantılar için soketi dinlersiniz.
5. Sokete gelen bağlantıyı kabul ederseiniz.
6. Gerekli data alış-verişini yaparsınız.
7. Bağlantıyı kapatırsınız. (En önemlisi, arkada iz bırakmamaktır.)
Client tarafında da durum farklı değil gibi:
Gebze Teknik Üniversitesi 2016-2017 döneminde, Proje-II dersi kapsamında yaptığımız projede(çalışmayı github hesabımda bulabilirsiniz) ihtiyacımız olan haberleşmeyi çalışma arkadaşımla hazırladım. Basit bir versiyonunu, aynı örneği bulamadığımdan benden sonraki arkadaşlara kolaylık olsun diyerek hazırladım. Qt Quick örnekleri az bulunur nitelikte, özellikle Qt dökümanlarında baktığım zaman Qt Widget ile hazırlanmış uygulamalar görmekteyim. Butonların ilişkisi vb. durumlar Qt Quick'te farklı işlemekte. Gerek bu açıdan, gerek haberleşme açısından kodu inceleyebilirsiniz.
QtSocket olsun, o soket olsun bu soket olsun farketmez, iletişimde temellerin çok değiştiğini görmedim. Soket uygulamalarında server tarafında iseniz:
1. İlgili datalarınız varsa(adres ve sokete dair struct'lar, classlar vb.) initialize edersiniz.
2. Yeni bir soket açarsınız.
3. Soketi bind edersiniz(bağlarsınız).
4. Sokete gelen bağlantılar için soketi dinlersiniz.
5. Sokete gelen bağlantıyı kabul ederseiniz.
6. Gerekli data alış-verişini yaparsınız.
7. Bağlantıyı kapatırsınız. (En önemlisi, arkada iz bırakmamaktır.)
Client tarafında da durum farklı değil gibi:
- İlgili datalarınızı initialize edersiniz.
- Yeni bir soket açarsınız.
- IP adresi, port numarası gibi bilgileri ayarlarsınız.
- Bağlantıyı kurarsınız.
- Gerekli data alış-verişini yaparsınız.
- Bağlantıyı kapatırsınız.
Genel olarak bu algoritmalar sırasıyla işlediği sürece, soketi kapatmayı unutmadığınız sürece, hata kontrolünü de yaparsanız bir sorun olacağını düşünmüyorum. Kullandığınız teknolojinin dökümantasyonunu okuyarak yeterli bilgiye sahip olabilirsiniz.
Koda eklediğim yorumlar yetersiz geldiyse, yorumda belirtebilirsiniz. Qt quick kullanacak arkadaşlar için iyi bir egzersiz olabilir. Kodu, projenin hızlı bitmesi amacıyla hataları en aza indirmek ve hızlı olmak amacıyla sağdan soldan sömürerek değişiklikler yaparak uyarladım. İyi bir kaynak olmasını umut ediyorum. Link :
-12335. Gün
Yorumlar
Yorum Gönder