Selam. Sıfırdan mesajlaşma uygulaması yapmak istiyorum. İzlemem gereken yol haritası nedir?
Video olarak önerebileceğim;
Bu arada bu mesajlaşma uygulamasını ne amaçla yapacaksınız insanların kullanması için mi yoksa sadece siz ve yakınlarınız birbiriniz için mesajlaşmak için mi?
Teşekkürler.Her şeyi sıfırdan yapmak istiyorsan önce iki sistem geliştirmen gerekiyor. Server ve client.
Server kullanıcılardan gelen istekleri işlerken, client kullanıcılar olacak. Client'lar bir kullanıcı adı ve şifreyle (yada başka bir yöntem de olabilir ama credentials önemli, başka kullanıcıları bulabilmeleri gerekiyor) sisteme servara bağlandıktan sonra, konuşmak istedikleri kişiyi server tarafından kendilerine iletilen listeden seçip mesaj göndermeliler.
Server her bir bağlantı için bir child process kullanmalı. Ek olarak bir watch dog olması, server'ın kilitlenmesi veya düzgün davranmayan bir child olması durumunda terminate için durabilir, server'ı yeniden başlatabilir. Burada unnamed pipeler devreye girer yada PID'ye göre sigterm falan da gönderilebilir. Server kullanıcıdan gelen bağlantıyı kabul ettikten sonra kimlik kontrolü yapmalı. Şifrelenmiş veri göndermen, aldığın şifrelenmiş veriyide server'da çözmen gerekiyor. Çözdükten sonra eğer eşleşiyorsa giriş yaptırırsın. SSL tamamen ayrı bir uğraş ama bu şekilde. Bunları karışık şekilde anlattım çünkü genel çalışma mantığı bu.
Geliştirmeye ilk başladığında, önce iki client arasında ilişki kurdurabilen bir server, ve kendi aralarında iletişim kurabilecek bir client yazman lazım. Sonrasında bunu kimliğe bağlayıp client'ların gelen mesajın kimden olduğunu ve kime mesaj gönderebildiklerini ayrıt ettirmen lazım. Kimliğe bağladıktan sonra kayıt ve giriş sistemlerini geliştirmen lazım. Kayıt ve giriş sistemlerini geliştirirken SSL kullanman gerekiyor. Normalde mesajlarda da gerekiyorda. Aşama aşama gittiğin için önce iletişimi kurdurduktan sonra mesajları da şifrelemeye başlarsın. Bütün bunları tamamlarsan gül gibi mesajlaşma uygulaman olur.
Mesajları da DB'de tutmayı deneyebilirsin, cihazlarda tutmayı deneyebilirsin. Sana kalmış. Son olarak tasarımı yaparsın, bu kadar yetmesi lazım. Görsel vb bi şeylerin gönderimi için de farklı yöntemler denersin.
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.