Tekrar merhaba, programa yeni özellikler ekledim.
Eklenen özellikler:
- Ekrana bastırılan yazıların bazıları renklendirildi.
- Dosya gönderme işlevi eklendi.
Ekran görüntüleri:
- Önce server.py dosyasını çalıştırıyoruz.
- Şimdi sunucuyu internete bağlayalım.
- Şimdi istemci programı çalıştıralım.
- İstemci bir kullanıcı adı seçmeden sunucuya bağlanamaz.
- Kullanıcı adı boş bırakılamaz.
- Kullanıcı adını belirledikten sonra sunucuya bağlanalım.
- Sunucu ekranına bir göz atalım.
- Başka bir istemciyi daha sunucuya bağlayalım.
- Sunucu ekranına tekrar bakalım.
- Önce Ali’ye mesaj gönderelim.
- Şimdi de Ahmet’e mesaj gönderelim.
- Şimdi Ali sunucuya bir mesaj yazsın.
- Şimdi de Ahmet sunucuya bir mesaj yazsın.
- Şimdi dosya gönderme düğmesine tıklayalım.
Dosya gönderme düğmesine tıkladıktan sonra sunucuya bağlanmış kullanıcı sayısı kadar düğme
oluşturulur, bu düğmelerden birine tıklayarak kime dosya göndermek istediğimizi belirliyoruz. İlk olarak Ali’ye dosya gönderelim. - Karşımıza bir tane dosya açma paneli geldi. Buradan göndermek istediğimiz dosyayı seçelim.
- Şimdi de Ali’nin ekranına bakalım.
Dosyamız başına new_ eki alarak bilgisayara kaydedildi. - Şimdi de Ahmet’e bu new_xpython.ico dosyasını gönderelim.
Ahmet’e gelen dosyanın ismi new_new_python.ico şeklinde kaydedildi. - Ahmet de bu gelen dosyayı sunucuya göndersin.
- Sunucunun ekranına bir bakalım.
NOT: Dosya gönderme işlemi şuanlık boyutu çok fazla olmayan dosyalar için geçerlidir (Sınırı 2147483648’e (=2 ** 31’e) kadar olan tampon değeri). Belki ilerleyen zamanlarda daha büyük dosyalar için de geçerli olabilir.
Kodlar:
https://github.com/dildeolupbiten/A-gui-chat-program/blob/master/tkserver.py
https://github.com/dildeolupbiten/A-gui-chat-program/blob/master/tkclient.py
Programla alakalı bir bug tespit eden veya önerisi olan arkadaşlar görüşlerini bildirirlerse sevinirim.