Python ilə bir server yazmağın 3 yolu

Mündəricat:

Python ilə bir server yazmağın 3 yolu
Python ilə bir server yazmağın 3 yolu

Video: Python ilə bir server yazmağın 3 yolu

Video: Python ilə bir server yazmağın 3 yolu
Video: MS Excel nasıl açılır 2024, Aprel
Anonim

Sıfırdan bir server yaratmaq böyük bir işdir. Ancaq bunu etmək proqramlaşdırma bacarıqlarınızı əhəmiyyətli dərəcədə artıra bilər və ehtiyaclarınıza uyğun olaraq dəyişdirə bilərsiniz. Bu dərslik, müştərilərin bir -biri ilə ünsiyyət qura bilməsi üçün bir server yaratmaq üçün python və aşağı səviyyəli priz proqramlarından istifadə edəcək. Bu da yalnız pəncərələrdəki prosesi əhatə edəcək. Təlimatlarda bəzi məlumatlar veriləcək, ancaq kodu istəsəniz, rəqəmlərdə verilmişdir. (Qeyd: burada təqdim olunan təlimatlar yalnız əsaslardır).

Addımlar

Metod 1 /3: Python qurmaq

Python Addım 1 ilə Server yazın
Python Addım 1 ilə Server yazın

Addım 1. Python yükləyin

Pythonun əsas veb saytına gedin və Python 2.7.10 -u yükləyin. Yükləmələrdən sonra standart parametrləri olan python yükləyicisinin addımlarından keçir. Bu link burada verilmişdir

Python Addım 2 ilə Server yazın
Python Addım 2 ilə Server yazın

Addım 2. IDLE (Python GUI) işləyin

Python 2.7 qovluğuna girin və IDLE (Python GUI) işlədin, python indi IDLE -nin yerləşdiyi başlanğıc menyunuzda olmalıdır.

Python Addım 3 ilə Server yazın
Python Addım 3 ilə Server yazın

Addım 3. Yeni bir fayl yaradın

Yeni açılan pəncərənin sol üst küncündə Fayla gedin və Yeni Fayl seçin, Adsız başlığı olan boş bir pəncərəniz olmalıdır.

Metod 2 /3: Serverin yaradılması

Python Addım 4 ilə Server yazın
Python Addım 4 ilə Server yazın

Addım 1. Lazım olan modulları idxal edin

Bu kod üçün lazım olan iki modul "socket" və "threading" dir. Bu, "soket idxalından *" ilk sətrinə və "sətir idxal etmək" sonrakı sətirinə yazmaqla edilə bilər.

Python Addım 5 ilə bir server yazın
Python Addım 5 ilə bir server yazın

Addım 2. Yeni bir mövzu yaradın

Bu, 2 müştərini bir -biri ilə uyğunlaşdıracaq. Mövzular, əsas proqram işləyərkən işləyə bilən proseslərdir. Şəkildə göstərildiyi kimi yazın. Bu mövzuda olan dəyişənləri daha sonra çağırmaq üçün quracaq.

Python Addım 6 ilə Server Yazın
Python Addım 6 ilə Server Yazın

Addım 3. Mövzu prosesi yaradın

Müştərilərin birbaşa ünsiyyət qurması üçün bir -birlərinin IP ünvanlarını və hansı portdan istifadə etdiklərini göstərən məlumatları göndərməlisiniz. Bunu etmək üçün "variableName = socket (AF_NET, SOCK_DGRAM)" ilə edilə bilən bir yuva obyekti yaratmalısınız. Bu, UDP protokolundan istifadə edən bir yuva obyekti yaradacaq. Sonra "roomSocket.bind (('', self.port)))" ilə müəyyən bir port nömrəsi ilə yuvanı IP ünvanınıza bağlayın. Boş sahə, yerli şəbəkənizdəki şəxsi kompüterinizin IP ünvanını ifadə edir və self.port, bu mövzuya zəng etdiyiniz zaman daxil olan port nömrəsi. Bu yuva ilə etməli olduğunuz son şey, bu məlumatı onun vasitəsilə göndərməkdir. Bu UDP yuvası olduğundan, sadəcə məlumat göndərdiyiniz kompüterin IP və portunu bilməlisiniz, göndərmə sintaksisi "socketName.sendto (IP, port)"

Python Addım 7 ilə bir server yazın
Python Addım 7 ilə bir server yazın

Addım 4. Qlobal dəyişənlər yaradın

Bu addım üçün istifadəçi siyahısı, port nömrələri, müştəri sayı, mövzu üçün müştərilər və otaq kimliyi daxil olmaqla bir neçə dəyişən təyin etməlisiniz. Serverinizin internetlə qarşılıqlı əlaqədə olması üçün bir yuva da yaratmalısınız. Bu, yeni bir yuva obyekti yaratmaq və müəyyən bir port nömrəsi ilə IP ünvanınıza bağlamaqla edilir. (Liman nömrəsi hər hansı bir şey ola bilər, amma başqa bir prosesdən və ya ayrılmış port nömrələrindən istifadə etməmək üçün ümumiyyətlə yüksək bir şeydir.)

Python Addım 8 ilə bir server yazın
Python Addım 8 ilə bir server yazın

Addım 5. Əsas server prosesini yaradın

Bu, müştəri ünvanını alacaq və daha əvvəl yaradılmış mövzuya başlayacaq. Buraya tampondan məlumatların alınmasını gözləmək və müştəri ünvanını almaq və onu mövzuda istifadə etmək üçün saxlamaq daxildir. Soketinizdən məlumat əldə etməyin yolu "socketName.recvfrom (1024)" ilə zəng etməkdir, buradakı nömrə bir anda oxunan baytların miqdarıdır. Bu nümunədə onu userAddr adlı bir dəyişənə saxlayırıq və bu baş verdikdə bu ünvanı 4 -cü addımda yaradılmış siyahıda saxlaya bilərsiniz. If ifadəsi iki nəfərin qoşulması ilə bir otaq mövzusu yaradacaq və yalnız bir otaq yaradacaq iki fərqli əlaqə olduqda.

Python Addım 9 ilə Server yazın
Python Addım 9 ilə Server yazın

Addım 6. İşinizi qeyd edin

Bu, test üçün asanlıqla əldə oluna bilməsi üçün əldə edilməsi asan bir kataloqda edilməlidir.

Metod 3 /3: Test

Python Addım 10 ilə bir server yazın
Python Addım 10 ilə bir server yazın

Addım 1. Test müştəri yaradın

Bu, serverin digər müştərinin məlumatlarını cari müştəriyə göndərib göndərməməsini idarə edəcək çox sadə bir müştəridir. Unutmayın ki, server kodundan fərqli olaraq bu kod bir server adı tələb edir. Bütün bunları bir kompüterdə işləyirsinizsə, server adı kompüterinizin adı olmalıdır. Kompüterim adını sağ tıklayaraq və xüsusiyyətlərə keçərək kompüterinizin adını öyrənə bilərsiniz.

Python Addım 11 ilə bir Server yazın
Python Addım 11 ilə bir Server yazın

Addım 2. İşinizi qeyd edin

Bu server kodu ilə eyni qovluqda olmalıdır.

Python Addım 12 ilə bir Server yazın
Python Addım 12 ilə bir Server yazın

Addım 3. Üç fərqli əmr pəncərəsini açın

Başlat menyusuna gedin və axtarış çubuğuna "cmd" yazın və Enter düyməsini basın. Bunu üç dəfə edin. Pəncərələr belə görünməlidir.

Python Addım 13 ilə Server Yazın
Python Addım 13 ilə Server Yazın

Addım 4. Proqramları işə salın

Komanda pəncərəsindən istifadə edərkən dəqiq yolu yazmalısınız. Server kodunu əvvəlcə bir əmr pəncərəsində, sonra digər ikisində test müştəri kodunu işə salmalısınız. Hər şey uğurlu olsaydı, bu mesajları pəncərənizdə alacaqsınız.

Xəbərdarlıqlar

  • Bu proqram yalnız işləyərkən işləyəcək və eyni lokal şəbəkədə müştəriləri sınayacaq.
  • Python 2.7.10 köhnəlib və dəstəyinin sonuna yaxınlaşır. Yaxşı serverlər yaratmağa davam etmək üçün Python 3 -ün ən son versiyasının quraşdırılması məsləhət görülür.

Tövsiyə: