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
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
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.
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ı
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.
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.
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)"
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.)
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.
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
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.
Addım 2. İşinizi qeyd edin
Bu server kodu ilə eyni qovluqda olmalıdır.
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.
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.