Hoşgeldin Sivil

.
Forum Yöneticisi: Administrator | Bu Bölümde Yetkili Tüm Yöneticiler? | Bu konuyu okuyanlar?

 Forum Ana Sayfa
   Python

   
 Kurallar    Aktif Konular    PM    Kayıt Ol     Giriş Yap  
» Python Hata Çözümü İçin Destek
Oy Ver   
 
Gönderilme Tarihi: 15 Mart 2022 10:13:39 - Kayıtlı IP
  Mesajı İhbar Et!     

SarucaPasha

Teğmen

Kızılelma
20 Şubat 2022
10 Mesaj

Durum: Şah ve Mat


Aktiflik
Seviye
Deneyim



Herkese merhaba, siber güvenlik danışmanım benden bir uygulama yapmamı istedi. Bu uygulama TCP Multirhread Chatroom olacak ancak birtakım hatalarla karşılaşıyorum.

╔/═════๑ஜ۩۞۩ஜ๑═════╗
HATALAR VE KODLAR
╚═════๑ஜ۩۞۩ஜ๑═════/╝

1. Sorun : Clientten alınan mesaj, liste içerisindeki her bir client'e gönderildiği için mesaj kendisine tekrardan gelmekte.

2. Sorun : CTRL + C yapılmasına rağmen uygulama kapanmamakta.

3. Sorun : Mesajı aldığımız yerde kendi ekranımızda ME : gözükmüyor.

Tahminimce 1. Sorun ile alakalı hatalı kodların olduğu yer;

PASTE UBUNTU KOD

Tahminimce 2. Sorun ile alakalı hatalı kodların olduğu yer;

PASTE UBUNTU KOD

Tahminimce 3. Sorun ile alakalı hatalı kodların olduğu yer;

PASTE UBUNTU KOD

╔/═════๑ஜ۩۞۩ஜ๑═════╗
ÇÖZÜM İÇİN DENEMELERİM
╚═════๑ஜ۩۞۩ஜ๑═════/╝

1.Sorun İçin;

for döngüsünün oldupu kısımda boolean tarzı bir değişken tanımlayıp CLIENT != CLIENT True olduğu sürece göndermesini aksi taktirde çalışmayı durdurmasını söyledim ancak çalışmadı

2. Sorun İçin;

Thread komutunun olduğu parantez bloğuna deamon=True ekledim. Bu olmayınca signal modülünü ve Threading.Event() kullandım anak yine olumlu sonuç olmadı.

3. Sorun İçin;

Client dosyasının içindeki ilk MESSAGE değişkeninin başına ME : ekledim ancak olmadı. Daha sonra bunu diğer MESSAGE değişkenlerinin olduğu yere yaptım ancak olumsuz...

╔/═════๑ஜ۩۞۩ஜ๑═════╗
RESİM
╚═════๑ஜ۩۞۩ஜ๑═════/╝



╔/═════๑ஜ۩۞۩ஜ๑═════╗
KAYNAK KOD
╚═════๑ஜ۩۞۩ஜ๑═════/╝

Github



___________________________________________
Doğru Yoldan Hiç Şaşmadan!
       
     
 
 
Gönderilme Tarihi: 15 Mart 2022 11:44:03 - Kayıtlı IP
  Mesajı İhbar Et!     

Dağıztanlı08

Albay

İstanbul
23 Şubat 2022
53 Mesaj

Durum: Complicated


Aktiflik
Seviye
Deneyim
Moderatör

Görev Org./Grup :

Lojistik


Öncelikle merhaba. Şu an bilgisayarım yanımda olmadığından kodları inceleyenedim fakat daha önceki açtığınız konulara bakarak şunları söyleyebilirim. Daha temel Python özelliklerini bilmeden, kütüphane öğrenmek doğru değil. Daha basit projeler kodlamalısınız. Örneğin açtığım Code Challange konusunu takip edebilirsiniz.

En basitinden shell ekranında değilsiniz o sebepten hangi tuş kombinasyonuyla programın sonlanması gerektiğini program bilmez. Siz belirtmelisiniz.

Bilgisayara geçtiğimde problemleri çözmenize yardımcı olacağım.

       
     
 
 
Gönderilme Tarihi: 15 Mart 2022 11:47:10 - Kayıtlı IP
  Mesajı İhbar Et!     

SarucaPasha

Teğmen

Kızılelma
20 Şubat 2022
10 Mesaj

Durum: Şah ve Mat


Aktiflik
Seviye
Deneyim



Alıntı : Alıntı-1: Orjinal mesajı yazan @Dağıztanlı08; 15 March 2022
Öncelikle merhaba. Şu an bilgisayarım yanımda olmadığından kodları inceleyenedim fakat daha önceki açtığınız konulara bakarak şunları söyleyebilirim. Daha temel Python özelliklerini bilmeden, kütüphane öğrenmek doğru değil. Daha basit projeler kodlamalısınız. Örneğin açtığım Code Challange konusunu takip edebilirsiniz.

Bilgisayara geçtiğimde problemleri çözmenize yardımcı olacağım.





Teşekkür ederim. Challange konunuza mutlaka bakıp cevabı ileteceğim.


___________________________________________
Doğru Yoldan Hiç Şaşmadan!
       
     
 
 
Gönderilme Tarihi: 15 Mart 2022 13:24:47 - Kayıtlı IP
  Mesajı İhbar Et!     

Dağıztanlı08

Albay

İstanbul
23 Şubat 2022
53 Mesaj

Durum: Complicated


Aktiflik
Seviye
Deneyim
Moderatör

Görev Org./Grup :

Lojistik


Kodları inceledim. Bu tarz programlarda nesne tabanlı programlama kullanmanızı öneriyorum. Hem okunurluğuda arttıracaktır.

Hata kısmına gelince;



Burada USERNAME olarak yolladığınız için a ya da b şeklinde gözüküyor.
Hem recieve hem send işlemi olduğundan dolayı mesaj iki kez bastırılmış gibi duruyor. Server tarafından gelen USERNAME isimlerini karşılaştırarak eğer 0 ve 1. indexteki değerler aynı değilse mesajı bastır değilse bastırma şeklinde bir şart ile mesajı gönderen ekranında mesajın bastırılmamasını sağlayabilirsiniz.



CTRL+C şeklinde programın çıkış yapmamasının sebebi program hangi tuş kombinasyonlarını kullanarak programdan çıkmasını gerektiğini bilmez.
gelen mesaj "q" eşitse programdan çık diyebilirsiniz.

Fakat kodları incelediğimde server-client mantığını tam olarak anlayamamışsınız gibi. Ondan dolayı konuyu daha iyi kavramanız açısından şuradaki linki bırakıyorum okuyabilirsiniz. Takıldığınız yerde yine sorabilirsiniz.

TIKLA

       
     
 
 
Git:
  Arkadaşına yolla

Sayfa Yüklenme Süresi: 0.0412


 

İçerik Yöneticisi : AKTIF / Veriler Aktarıldı...
IP Adresiniz : 172.71.254.39 Güvenlik Nedeniyle Kayıt Altındadır.



Uzun yoldan geldik, uzun yola devam...

   


Reklam vermek için tıklayın

Forum Kuralları | Üye Olmak İçin | CyberAkademi | Operasyonel TİM'ler
CYBERAKADEMI ~ 2021