Network kodlama hakkında bilgiye ihtiyacım var :D

Merhaba arkadaşlar python öğrenemeye başlıyalı 2 hafta oluyor pek ezber seven biri olmadığım için öğrendiğim modülleri def komutu ile fonksiyon haline getirip anlıyabileceğim komutlara çeviriyorum benim sorum ise şu şuanda dosya işlemleri yapıcak olan bir modül ile çalışıyorum kodlarını burda paylaşırım öğrenmek istediğim bir modül var şu soket programlamayı bana detaylıca açıklıyabilecek bir abimiz veya kardeşimiz varmı amacım bir clienta bağlanıp ona sunucu üzerinde commandlar yollayıp bu commandların cevaplarını tekrardan serverdan görmek istiyorum bu şekilde yazdığım modülü uzaktan çalıştıra bilirim bu arada aklınıza Remote Administrator Tools lar gelmesin internet ve ağ teknolojileri bölümü mezunu bir kardeşinizim bu tür yazılımlar yazmak bana mükemmel hazlar kazandırıyor :smiley: bu arada uzaktan çalıştıracağım modülüm ise şu :

import os
import sys
import shutil
from colorama import Fore


def dizingöster(): #Bulunduğumuz dizini gösterir.
    print(Fore.YELLOW+"|x| Bulunduğunuz dizin"+" |x|>",Fore.GREEN+os.getcwd()+Fore.YELLOW+" <|x| ")
    
def dizindeğiştir(): #Bulunduğumuz dizini degiştirir.
    x=input(Fore.YELLOW+"|x|Degiştirmek istediğiniz dizini girin --> ") 
    (os.chdir(x))
    
def dizinlistele(): #Bulunduğumuz dizini listeler.
    dosyalar=os.listdir()
    print(Fore.YELLOW+"|x|",Fore.RED+"Dizindeki Dosyalar",Fore.YELLOW+"|x|")
    for x in dosyalar:
        print(Fore.CYAN+"|*| ",x) 
        
def klasörluştur(): #Bulunduğumuz dizinde Log adlı bir klasör oluşturur.
    y=input(Fore.YELLOW+"Oluşturmak istediğiniz dosyanın adını giriniz --> ")
    os.mkdir(y) 
    
def klasörsil(): #Bulunduğumuz dizinde Log adlı bir klasörü siler.
    i=input(Fore.YELLOW+"Silmek istediğiniz dosyanın adını giriniz --> ") 
    shutil.rmtree(i)
 
 
def programdançık(): #Proğramdan çıkmamızı sağlar.
    print(Fore.YELLOW+"Programdan çıkılıyor...")
    sys.exit()
    
   
   #######################################################################################################################
   
   
    
def dosyaoluştur():
    x=input(Fore.YELLOW+"Oluşturmak istediğiniz dosyanın adını giriniz ==> ")       #Kullanıcı oluşturmak istediği dosya adını girer
    dosya=open(x,"a")                                                               #Kullanıcının istediği dizinde  istenilen uzantıda dosya açar
      
   
    
def dosyayaz():
    x=input(Fore.YELLOW+"Veriyi girmek istediğiniz dosyanın adını giriniz ==> ")    #Kullanıcı veri girişini yapmak istediği dosya adını girer
    dosya=open(x,"a")                                                               #Bulunduğu dizinde  istenilen uzantıda dosya açar
    veri=input("Veri girişini yapınız ==> ")
    dosya.write(veri)                                                               #Bu dosyaya veri girişi yapar
    dosya.close()                                                                   #Bu dosyayı kapatır ve kaydeder
    

    
def dosyaoku():
    y=input(Fore.YELLOW+"Okumak istediğiniz dosyanın adını giriniz ==> ")                  #Kullanıcı dosya adını girer
    dosya=open(y,"r")                                                                      #Kullanıcının girdiği dosyayı  arar ve okur 
    oku=dosya.read()                                                                       #Okunan dosyayı oku değişkenine aktarır
    print(Fore.YELLOW+"||>",Fore.CYAN+y+Fore.YELLOW+" <|| Dosyasındaki bulunan veriler ||")#Okunan dosyayı ekrana yazar
    print("-------------------------------------------------")
    print(Fore.GREEN+oku)


def dosyasil():                                                                          
    i=input(Fore.YELLOW+"Silmek istediğiniz dosyanın adını giriniz adını giriniz --> ") #Kullanıcı silmek istediği belge ismini girer
    os.remove(i)                                                                        #Girilen belge silinir

aslında basit bir dosyamanager ama socket programlamada iyi olmadığım için her satırı sindire sindire öğrenmek istiyorum şimdiden okuyan ve ilgilenenlere sonsuz teşşekürlerimi sunuyorum cevaplarınızı bekliyorum :sweat_smile:

Dipnot:Modülleri öğrendikce sizi soru manyağı edicem haberiniz olsun.

merhabalar kolay gelsin python ogrenmeden once turkce yazmayi ogrenmeni tavsiye ederim cumleleri noktayla bitirip buyuk harfle baslatiyoruz bunlar tek baslarina cok onemli olmamakla birlikte butun paragrafi tek bir noktalama isareti kullanmadan yazdiginda baya okunmaz oluyor ayni sekilde virgul kullanman da lazim okurken nefessiz kaliyoruz ve yazdiklarini durup dusunecek vaktimiz olmuyor python yazarken hani bazi dil kurallarina sadik kaliyorsun ya ayni seyi turkce icin yaparsan da iyi olur hatta butun insan dilleri icin gecerli bu bu arada kullanmak istedigin modulun adi socket dokumentasyonuna bakabilirsin ag teknolojileri bolumu okurken herhangi bir bsd socket implementasyonuna denk gelip kullandin mi socket accept bind recv send gibi fonksiyonlari olan arayuzden bahsediyorum bi de rfc 791 ve 793 ye ne kadar hakimsin mufretada hakim olmadigim icin soruyorum hakaret gibi gelirse ozur dilerim ama bilmiyorsan da dert etme cogu insan universite egitimiyle gelmiyor geldigi yere

2 Beğeni

1 kere dahi insanların eksiklerini yüzlerine vurmak yerine onlara eksiklerini kapattıramaz mısınız @aib ?

Bu ikisi birbirleriyle celisen seyler degil.

Haklısınız pek yazma alışkanlığım olmadığı için dilbilgisi yeteneğim sizin karşınızda biraz düşük kalmış bundan dolayı özürdilerim.Gelelim konumuza bsd socket implementasyonun elbette denk geldim gelmemek mümkün değil şuan size bu cevabı yazarken bile bunun nimetlerinden faylanıyorum.Rfc 791 ve 793 kastınız 1981 yılında yayınlanan internet genel ağ protokolü üzerine 45 sayfalık belge ise bunun hakkında bilgiye sahibim malum üniversitelerde bunun dersini iyi veriyorlar ayrıca çoğu insanın üniversite eğitimiyle bulunduğu yere gelmediğini çok iyi biliyorum ama bunu dillendirmenizin nedenini anlamıyorum çok basit bir soru sormuşum çok basit bir cevap ile geri dönüş yapabilirdiniz ama anlıyorum ki " internet ve ağ teknolojileri bölümü mezunu bir kardeşinizim" demem sizde bilinçaltınızda kalan bazı aşağılanma duygularınızı gün yüzüne çıkmasına sebeb olmuş bundan dolayı da özürdilerim.

AYRICA İNSANLARA HİTAP ETME VE KONUŞMA ADABINIZI GELİŞTİRMENİZİ TEMENNİ EDİYORUM HAYATTA BAŞARILAR.

MALUM BUNLARI ÜNİVERSİTE EĞİTİMİ İLE ÖĞRENEMİYOR İNSAN :facepunch:

1 Beğeni

Iste bu tur yanlis anlasilmalara mahal vermemek icin dilbilgisi kurallarini kullaniyoruz.

RFC 791 ve 793’ten kastim tam olarak onlar, evet. Bunlari okumus, uzerine BSD soket implementasyonunu da kullanmis bir insan “network kodlama hakkinda bilgi” olarak neyi kast eder bilemedigim icin sordum. Bu implementasyonun API’si neredeyse birebir olarak Python’da bahsettigim modulde var.

Yeterince insanla calisinca “internet ve ag teknolojileri bolumu mezunu” olmanin internet ve ag teknolojileri hakkinda zerre bilgiye sahip olmak anlamina gelmedigini goruyor insan, oyle bir durumla karsi karsiya olup olmadigimizdan emin olmak icin zordum, ve isini bilen birine hakaret gibi gelecegi icin de pesinen ozur diledim. Bir sekilde hakaret olarak gorulmus*. Daha fazla ozur dileme geregi duymuyorum.

*: Sanirim. Bagiran, yumruk atan kismi anlamadim.

Dostum sen alenen hakaret edıyosun benım o bolumu ve bılgılere hakım olmam demek socket programlamayı baştan yaratırım demek olmuyor bundan dolayı socket programlama hakkında bilgi istedim ha sen diyosun kı o implementasyon ıle sokcet programlama dakı fonksıyonlar aynı kardesım ogrencegın bışey yok dıyosan eyvalla ama sen bunu demıyosun kı ılk yorumunda resmen aşağılıyosun bu tür bir yoruma maruz kalıcağımı bilsem bu soruyu baştan sormazdım ondan dolayı

AYRICA İNSANLARA HİTAP ETME VE KONUŞMA ADABINIZI GELİŞTİRMENİZİ TEMENNİ EDİYORUM HAYATTA BAŞARILAR.

MALUM BUNLARI ÜNİVERSİTE EĞİTİMİ İLE ÖĞRENEMİYOR İNSAN :facepunch:

diye yazmışım yani sizin cevap verme şekliniz doğru değil türkçe yazmaktan ziyade düzgün hitap etmeyi ve karşımızdaki kişiyi aşağılamamak daha önemli bunu anlatmaya çalımışım ama belli ki anlaşılmamış.

1 Beğeni

Python’da bunun için socket modülü var, burada açıklanmış.

Bu direkt Python ile alakalı, cevaptan kastınız print fonksiyonunun çıktısı ise sys.stdout'u yönlendirmeyi deneyebilirsiniz. Burada ve burada bir kaç örnek var.

Teorik kısmında bilgi sahibisiniz anladığım kadarı ile, sadece programlama deneyiminiz olmamış. Python dilinin temellerini biliyorsanız socket modülünü kullanırken sıkıntı yaşamazsınız.

Çok teşşekürederim bilgilendirdiğiniz için işime yaradı kalın sağlıcakla.