Python ile Sunucu Yazmanın 3 Yolu

İçindekiler:

Python ile Sunucu Yazmanın 3 Yolu
Python ile Sunucu Yazmanın 3 Yolu

Video: Python ile Sunucu Yazmanın 3 Yolu

Video: Python ile Sunucu Yazmanın 3 Yolu
Video: Şirket Outlook Mail Yedekleme & Geri Yükleme Nasıl Yapılır? 2024, Nisan
Anonim

Sıfırdan bir sunucu oluşturmak büyük bir iştir. Ancak bunu yapmak, programlama becerilerinizi büyük ölçüde geliştirebilir ve ihtiyaçlarınıza göre değiştirmenize izin verebilir. Bu eğitimde, istemcilerin birbirleriyle iletişim kurabilmesi için bir sunucu oluşturmak için python ve düşük seviyeli soket programlama kullanılacaktır. Bu aynı zamanda yalnızca pencerelerdeki işlemi de kapsayacaktır. Talimatlarda bazı bilgiler verilecektir, ancak sadece kodu istiyorsanız, şekillerde verilmiştir. (Not: Burada sunulan talimatlar yalnızca temel bilgilerdir).

adımlar

Yöntem 1/3: Python'u Yükleme

Python Adım 1 ile Sunucu Yazın
Python Adım 1 ile Sunucu Yazın

Adım 1. Python'u indirin

Python'un ana web sitesine gidin ve Python 2.7.10'u indirin. İndirdikten sonra, varsayılan ayarlarla python yükleyicisinin adımlarını çalıştırın. Bu bağlantı burada verilmiştir

Python Adım 2 ile Sunucu Yazın
Python Adım 2 ile Sunucu Yazın

Adım 2. IDLE'yi (Python GUI) çalıştırın

Python 2.7 klasörüne gidin ve IDLE'yi (Python GUI) çalıştırın, python şimdi IDLE'nin bulunduğu başlat menünüzde olmalıdır.

Python Adım 3 ile Sunucu Yazın
Python Adım 3 ile Sunucu Yazın

Adım 3. Yeni bir dosya oluşturun

Yeni açılan pencerenin sol üst köşesindeki Dosya'ya gidin ve Yeni Dosya'yı seçin, Başlıksız başlıklı boş bir pencere açmalısınız.

Yöntem 2/3: Sunucu Oluşturma

Python Adım 4 ile Sunucu Yazın
Python Adım 4 ile Sunucu Yazın

Adım 1. Gerekli modülleri içe aktarın

Bu kod için gereken iki modül “socket” ve “threading”dir. Bu, ilk satıra "soket içe aktarma *" ve sonraki satıra "içe aktarma iş parçacığı" yazarak yapılabilir.

Python Adım 5 ile Sunucu Yazın
Python Adım 5 ile Sunucu Yazın

Adım 2. Yeni bir iş parçacığı oluşturun

Bu, 2 istemcinin birbiriyle eşleşmesini sağlar. İş parçacıkları, ana program çalışırken çalışabilen işlemlerdir. Tam olarak şekilde gösterildiği gibi yazın. Bu, dizideki değişkenleri daha sonra çağrılabilmeleri için ayarlayacaktır.

Python Adım 6 ile Sunucu Yazın
Python Adım 6 ile Sunucu Yazın

Adım 3. İplik işlemi oluşturun

İstemcilerin doğrudan iletişim kurabilmeleri için, birbirlerinin IP adreslerini ve hangi bağlantı noktasını kullandıklarını içeren bilgilerini göndermeniz gerekir. Bunu yapmak için “variableName = socket(AF_NET, SOCK_DGRAM)” ile yapılabilecek bir soket nesnesi oluşturmalısınız. Bu, UDP protokolünü kullanan bir soket nesnesi yaratacaktır. Sonraki “roomSocket.bind((' ', self.port))” ile soketi belirli bir port numarası ile IP adresinize bağlayın. bu iş parçacığını aradığınızda dahil edilen bağlantı noktası numarası. Bu soketle yapmanız gereken son şey, bunun üzerinden bilgi göndermektir. Bu bir UDP soketi olduğundan, bilgi göndereceğiniz bilgisayarın IP ve portunu bilmeniz yeterlidir, gönderme sözdizimi “socketName.sendto(IP, port)” şeklindedir.

Python Adım 7 ile Sunucu Yazın
Python Adım 7 ile Sunucu Yazın

Adım 4. Global değişkenleri oluşturun

Bu adım için bir kullanıcı listesi, bağlantı noktası numaraları, istemci sayısı, iş parçacığı için istemciler ve oda kimliğini içeren birkaç değişken tanımlamanız gerekecektir. Ayrıca sunucunuzun internet ile etkileşime girebilmesi için bir soket oluşturmanız gerekecektir. Bu, yeni bir soket nesnesi oluşturularak ve belirli bir bağlantı noktası numarasıyla IP adresinize bağlanarak yapılır. (Bağlantı noktası numarası herhangi bir şey olabilir, ancak başka bir işlemin onu kullanmasını veya ayrılmış bağlantı noktası numaralarını kullanmasını önlemek için genellikle yüksek bir sayıdır.)

Python Adım 8 ile Sunucu Yazın
Python Adım 8 ile Sunucu Yazın

Adım 5. Ana sunucu işlemini oluşturun

Bu, istemci adresini alacak ve daha önce oluşturulan diziyi başlatacaktır. Bu, arabellekten veri almayı beklemeyi ve istemci adresini almayı ve iş parçacığında kullanılmak üzere kaydetmeyi içerir. Soketinizden bilgi almanın yolu “socketName.recvfrom(1024)” ile aramaktır, buradaki sayı sadece bir seferde okunan bayt miktarıdır. Bu örnekte onu userAddr adlı bir değişkende saklıyoruz ve bu gerçekleştiğinde bu adresi 4. adımda oluşturulan listeye kaydedebilirsiniz. if ifadesi iki kişi bağlanırsa bir oda dizisi oluşturacak ve yalnızca bir oda oluşturacaktır. iki farklı bağlantı gerçekleştiğinde.

Python Adım 9 ile Sunucu Yazın
Python Adım 9 ile Sunucu Yazın

Adım 6. Çalışmanızı kaydedin

Bu, test için kolayca erişilebilmesi için ulaşılması kolay bir dizinde yapılmalıdır.

Yöntem 3/3: Test Etme

Python Adım 10 ile Sunucu Yazın
Python Adım 10 ile Sunucu Yazın

Adım 1. Bir test istemcisi oluşturun

Bu, yalnızca sunucunun diğer istemcinin bilgilerini mevcut istemciye gönderip göndermediğini ele alacak çok basit bir istemcidir. Lütfen sunucu kodunun aksine bu kodun bir sunucu adı gerektirdiğini unutmayın. Tüm bunları tek bir bilgisayarda çalıştırıyorsanız, sunucu adı bilgisayarınızın adı olmalıdır. Bilgisayarımın adını Bilgisayarım'a sağ tıklayıp özelliklere giderek öğrenebilirsin.

Python Adım 11 ile Sunucu Yazın
Python Adım 11 ile Sunucu Yazın

Adım 2. Çalışmanızı kaydedin

Bu, sunucu koduyla aynı dizinde olmalıdır.

Python Adım 12 ile Sunucu Yazın
Python Adım 12 ile Sunucu Yazın

Adım 3. Üç farklı komut penceresi açın

Başlat menüsüne gidin ve arama çubuğuna "cmd" yazın ve enter tuşuna basın. Bunu üç kez yapın. Pencereler böyle görünmelidir.

Python Adım 13 ile Sunucu Yazın
Python Adım 13 ile Sunucu Yazın

Adım 4. Programları çalıştırın

Komut penceresini kullanırken tam yolu yazmanız gerekecektir. Önce bir komut penceresinde sunucu kodunu, ardından diğer ikisinde test istemci kodunu çalıştırmanız gerekecektir. Her şey başarılı olursa, pencerenizde bu mesajları alacaksınız.

Uyarılar

  • Bu program yalnızca çalıştırıldığında çalışır ve aynı yerel alan ağındaki istemcileri test eder.
  • Python 2.7.10 güncel değil ve desteğinin sonuna yaklaşıyor. İyi sunucular oluşturmaya devam etmek için bunun yerine Python 3'ün en son sürümünün yüklenmesi önerilir.

Önerilen: