Noldan server yaratish - katta vazifa. Biroq, bu sizning dasturlash qobiliyatingizni sezilarli darajada yaxshilaydi va uni sizning ehtiyojlaringizga qarab o'zgartirishga imkon beradi. Bu qo'llanmada mijozlar bir -biri bilan muloqot qilishlari uchun server yaratish uchun python va past darajali soket dasturlari ishlatiladi. Bu, shuningdek, faqat derazalardagi jarayonni qamrab oladi. Ko'rsatmalarda ba'zi ma'lumotlar ko'rsatiladi, lekin agar siz kodni xohlasangiz, u rasmda keltirilgan. (Eslatma: bu erda keltirilgan ko'rsatmalar faqat asosiylari).
Qadamlar
3 -usul 1: Python -ni o'rnatish
Qadam 1. Python -ni yuklab oling
Python -ning asosiy veb -saytiga o'ting va Python 2.7.10 -ni yuklab oling. Yuklab olingandan so'ng, standart sozlamalarga ega bo'lgan python o'rnatuvchisining qadamlari bajariladi. Bu havola bu erda berilgan:
Qadam 2. IDLE (Python GUI) ni ishga tushiring
Python 2.7 papkasiga o'ting va IDLE (Python GUI) ni ishga tushiring, python endi IDLE joylashgan boshlang'ich menyusida bo'lishi kerak.
Qadam 3. Yangi fayl yarating
Yangi ochilgan oynaning chap yuqori burchagidagi Fayl -ga o'ting va Yangi fayl -ni tanlang, sizda nomsiz sarlavhali bo'sh oyna ochilishi kerak.
3 usul 2: server yaratish
Qadam 1. Kerakli modullarni import qiling
Bu kod uchun zarur bo'lgan ikkita modul "soket" va "tishli". Buni "soket importidan *" birinchi satriga va keyingi qatorga "import tishli" yozish orqali amalga oshirish mumkin.
2 -qadam. Yangi mavzu yarating
Bu bir -biriga mos keladigan 2 ta mijozni boshqaradi. Mavzular - bu asosiy dastur ishlayotganda bajarilishi mumkin bo'lgan jarayonlar. Rasmda ko'rsatilgandek yozing. Bu ipdagi o'zgaruvchilarni keyinchalik chaqirish uchun o'rnatadi.
Qadam 3. Ip jarayonini yarating
Mijozlar to'g'ridan -to'g'ri muloqot qilishlari uchun siz bir -biringizning IP -manzilingizni va qaysi portdan foydalanayotganingizni ko'rsatishingiz kerak. Buning uchun siz "variableName = socket (AF_NET, SOCK_DGRAM)" yordamida bajariladigan soket ob'ektini yaratishingiz kerak. Bu UDP protokolidan foydalanadigan rozetka ob'ektini yaratadi. Keyin "roomSocket.bind (('', self.port)))" bilan ma'lum bir port raqami bilan rozetkani IP -manzilingizga ulang. Bo'sh joy sizning shaxsiy tarmog'ingizdagi shaxsiy kompyuteringizning IP -manzilini bildiradi va self.port -ni tayinlaydi. bu raqamga qo'ng'iroq qilganingizda kiritilgan port raqami. Bu rozetka bilan qilishingiz kerak bo'lgan oxirgi narsa - u orqali ma'lumot yuborish. Bu UDP rozetkasi bo'lgani uchun, siz ma'lumot yuborayotgan kompyuterning IP va portini bilishingiz kerak, yuborish sintaksisi "socketName.sendto (IP, port)"
4 -qadam. Global o'zgaruvchilarni yarating
Ushbu qadam uchun siz foydalanuvchilar ro'yxati, port raqamlari, mijozlar soni, tarmoq mijozlari va xona identifikatorini o'z ichiga olgan bir nechta o'zgaruvchini aniqlashingiz kerak bo'ladi. Bundan tashqari, sizning serveringiz Internet bilan ishlashi uchun rozetka yaratishingiz kerak bo'ladi. Bu yangi rozetka ob'ektini yaratish va uni IP -manzilingizga ma'lum port raqami bilan bog'lash orqali amalga oshiriladi. (Port raqami har qanday bo'lishi mumkin, lekin uni ishlatishdan yoki saqlangan port raqamlaridan foydalanishni oldini olish uchun odatda yuqori bo'ladi.)
Qadam 5. Asosiy server jarayonini yarating
Bu mijozning manzilini oladi va ilgari yaratilgan mavzuni ishga tushiradi. Bunga buferdan ma'lumotlarni olishni kutish va mijozning manzilini olish va uni tarmoq ichida foydalanish uchun saqlash kiradi. O'z rozetkangizdan ma'lumot olishning yo'li - "socketName.recvfrom (1024)" ga qo'ng'iroq qilish, bu yerdagi raqam bir vaqtning o'zida o'qiladigan baytlar soni. Bu misolda biz uni userAddr deb nomlangan o'zgaruvchiga saqlayapmiz va bu sodir bo'lgach, siz bu manzilni 4 -qadamda yaratilgan ro'yxatda saqlashingiz mumkin. If iborasi xona chizig'ini yaratadi, agar ikki kishi ulansa va faqat xona yaratsa. ikki xil aloqa sodir bo'lganda.
6 -qadam. Ishingizni saqlang
Buni osonlikcha olish mumkin bo'lgan katalogda qilish kerak, shunda unga sinovdan o'tish oson bo'ladi.
3 -usul 3: test
Qadam 1. Test mijozini yarating
Bu juda oddiy mijoz, u server boshqa mijoz haqidagi ma'lumotni hozirgi mijozga yuborganmi yoki yo'qmi, hal qiladi. E'tibor bering, server kodidan farqli o'laroq, bu kod server nomini talab qiladi. Agar siz bularning barchasini bitta kompyuterda ishlatayotgan bo'lsangiz, server nomi kompyuteringizning nomi bo'lishi kerak. Siz "Mening kompyuterim" ni o'ng tugmasini bosib, "Xususiyatlar" bo'limiga o'tish orqali kompyuter nomini bilib olishingiz mumkin.
2 -qadam. Ishingizni saqlang
Bu server kodi bilan bir xil katalogda bo'lishi kerak.
Qadam 3. Uch xil buyruq oynasini oching
Boshlash menyusiga o'ting va qidirish satriga "cmd" kiriting va Enter ni bosing. Buni uch marta bajaring. Derazalar shunday ko'rinishi kerak.
Qadam 4. Dasturlarni ishga tushiring
Buyruqlar oynasidan foydalanganda siz aniq yo'lni kiritishingiz kerak bo'ladi. Siz server kodini avval bitta buyruq oynasida, so'ngra qolgan ikkitasida test mijoz kodini ishga tushirishingiz kerak bo'ladi. Agar hamma narsa muvaffaqiyatli bo'lsa, sizning oynangizda bunday xabarlar bo'ladi.
Ogohlantirishlar
- Bu dastur faqat ishlayotganda ishlaydi va mijozlarni bir xil lokal tarmoqda tekshiradi.
- Python 2.7.10 eskirgan va qo'llab -quvvatlash tugashiga yaqin. Yaxshi serverlar yaratishni davom ettirish uchun uning o'rniga Python 3 -ning so'nggi versiyasini o'rnatish tavsiya etiladi.