Python көмегімен сервер жазудың 3 әдісі

Мазмұны:

Python көмегімен сервер жазудың 3 әдісі
Python көмегімен сервер жазудың 3 әдісі

Бейне: Python көмегімен сервер жазудың 3 әдісі

Бейне: Python көмегімен сервер жазудың 3 әдісі
Бейне: How to Set Up the Same Microsoft Outlook Email Address on Two Compute... : MS Outlook Tips & Tricks 2024, Сәуір
Anonim

Нөлден сервер құру - үлкен міндет. Алайда, бұл сіздің бағдарламалау дағдыларыңызды едәуір жақсартады және оны сіздің қажеттіліктеріңізге қарай өзгертуге мүмкіндік береді. Бұл оқулықта клиенттер бір -бірімен сөйлесе алатындай сервер құру үшін питон мен төмен деңгейлі розеткалық бағдарламалау қолданылады. Бұл сонымен қатар терезедегі процесті ғана қамтиды. Кейбір ақпарат нұсқаулықта беріледі, бірақ егер сіз кодты алғыңыз келсе, ол суреттерде берілген. (Ескертпе: мұнда берілген нұсқаулар тек негіздері).

Қадамдар

3 әдіс 1: Python орнату

Python көмегімен сервер жазу 1 -қадам
Python көмегімен сервер жазу 1 -қадам

Қадам 1. Python жүктеп алыңыз

Python -ның негізгі веб -сайтына өтіп, Python 2.7.10 жүктеп алыңыз. Жүктеулер әдепкі параметрлері бар python орнатушысының қадамдары арқылы іске қосылады. Бұл сілтеме мына жерде берілген:

Python көмегімен сервер жазу 2 -қадам
Python көмегімен сервер жазу 2 -қадам

Қадам 2. IDLE (Python GUI) іске қосыңыз

Python 2.7 қалтасына кіріп, IDLE (Python GUI) іске қосыңыз, python енді IDLE орналасқан бастау мәзірінде болуы керек.

Python көмегімен сервер жазыңыз 3 -қадам
Python көмегімен сервер жазыңыз 3 -қадам

Қадам 3. Жаңа файл жасаңыз

Жаңадан ашылған терезенің сол жақ жоғарғы бұрышындағы Файлға өтіп, Жаңа файлды таңдаңыз, сізде атауы жоқ бос терезе ашылуы керек.

3 әдіс 2: Сервер құру

Python 4 -қадаммен сервер жазу
Python 4 -қадаммен сервер жазу

Қадам 1. Қажетті модульдерді импорттаңыз

Бұл код үшін қажет екі модуль - «розетка» және «бұру». Мұны бірінші жолға «розеткадан импорттау *» және келесі жолға «импорттық ағын» енгізу арқылы жасауға болады.

Python 5 -сервермен сервер жазыңыз
Python 5 -сервермен сервер жазыңыз

Қадам 2. Жаңа ағын жасаңыз

Бұл бір -біріне сәйкес келетін 2 клиентті басқарады. Ағындар - бұл негізгі бағдарлама жұмыс істеп тұрған кезде іске қосылатын процестер. Суретте көрсетілгендей жазыңыз. Бұл ағындағы айнымалыларды кейін шақыруға болатындай етіп орнатады.

Python 6 -сервермен сервер жазыңыз
Python 6 -сервермен сервер жазыңыз

Қадам 3. Жіп процесін жасаңыз

Клиенттер тікелей байланысқа шығуы үшін сіз бір -біріне IP мекенжайын және қай портты қолданатын ақпаратты жіберуіңіз керек. Мұны істеу үшін сіз «variableName = socket (AF_NET, SOCK_DGRAM)» көмегімен жасалатын сокет нысанын жасауыңыз керек. Бұл UDP протоколын қолданатын розетка объектісін жасайды. Келесіде розетканы IP -адреске «roomSocket.bind (('', self.port))) бар белгілі бір порт нөмірімен байланыстырыңыз. Бос аймақ сіздің жергілікті желідегі жеке компьютердің IP -адресін білдіреді және self.port оны тағайындайды. осы ағынға қоңырау шалғанда қосылатын порт нөмірі. Бұл розеткамен жасалатын соңғы нәрсе - ол арқылы ақпаратты жіберу. Бұл UDP ұяшығы болғандықтан, сіз ақпаратты жіберіп отырған компьютердің IP мекенжайын және портын білуіңіз керек, жіберудің синтаксисі «socketName.sendto (IP, порт)»

Python 7 сервері бар серверді жазыңыз
Python 7 сервері бар серверді жазыңыз

4 -қадам. Жаһандық айнымалыларды жасаңыз

Бұл қадам үшін сізге пайдаланушылар тізімі, порт нөмірлері, клиенттер саны, ағын клиенттері және бөлме идентификаторы кіретін бірнеше айнымалыларды анықтау қажет болады. Сондай -ақ, сіздің серверіңіз интернетпен жұмыс жасай алатындай розетка жасау қажет болады. Бұл жаңа розетка объектісін құру және оны белгілі бір порт нөмірімен IP мекенжайыңызға байланыстыру арқылы жүзеге асады. (Порт нөмірі кез келген нәрсе болуы мүмкін, бірақ оны басқа процесті немесе резервтік порт нөмірлерін пайдалануды болдырмау үшін әдетте жоғары нәрсе.)

Python 8 -сервері бар сервер жазыңыз
Python 8 -сервері бар сервер жазыңыз

Қадам 5. Негізгі серверлік процесті жасаңыз

Бұл клиенттің адресін алады және бұрын жасалған ағынды бастайды. Бұған буферден деректерді алуды күту және клиенттің адресін алу және оны ағында пайдалану үшін сақтау кіреді. Розеткадан ақпарат алудың жолы - «socketName.recvfrom (1024)» арқылы қоңырау шалу, бұл жердегі нөмір - бір уақытта оқылатын байт саны. Бұл мысалда біз оны userAddr деп аталатын айнымалыға сақтаймыз, және бұл орын алғаннан кейін сіз бұл мекенжайды 4 -қадамда жасалған тізімге сақтай аласыз. If операторы екі адам қосылса, бөлме ағыны құрады және тек бөлме жасайды екі түрлі байланыс болған кезде.

Python 9 -сервермен сервер жазыңыз
Python 9 -сервермен сервер жазыңыз

Қадам 6. Жұмысыңызды сақтаңыз

Бұл тестілеу үшін оңай қол жеткізуге болатын қол жетімді каталогта жасалуы керек.

3 әдіс 3: тестілеу

Python 10 -сервермен сервер жазыңыз
Python 10 -сервермен сервер жазыңыз

Қадам 1. Тест клиентін жасаңыз

Бұл қарапайым клиент, ол сервер басқа клиент туралы ақпаратты ағымдағы клиентке жіберген -жібермегенін ғана шешеді. Сервер кодынан айырмашылығы, бұл код сервер атауын қажет ететінін ескеріңіз. Егер сіз мұның бәрін бір компьютерде іске қоссаңыз, сервер атауы сіздің компьютеріңіздің аты болуы керек. Менің компьютерімді тінтуірдің оң жақ түймесімен басып, қасиеттерге өту арқылы компьютер атауын білуге болады.

Python 11 -сервері бар серверді жазыңыз
Python 11 -сервері бар серверді жазыңыз

Қадам 2. Жұмысыңызды сақтаңыз

Бұл сервер кодымен бір каталогта болуы керек.

Python 12 -сервермен сервер жазыңыз
Python 12 -сервермен сервер жазыңыз

Қадам 3. Үш түрлі командалық терезені ашыңыз

Бастау мәзіріне өтіп, іздеу жолағына «cmd» енгізіп, enter пернесін басыңыз. Мұны үш рет жасаңыз. Терезелер осылай болуы керек.

Python 13 -сервермен сервер жазыңыз
Python 13 -сервермен сервер жазыңыз

Қадам 4. Бағдарламаларды іске қосыңыз

Пәрмен терезесін пайдалану кезінде дәл жолды енгізу қажет болады. Сіз алдымен серверлік кодты бір командалық терезеде, содан кейін қалған екеуінде клиенттік кодты іске қосуыңыз керек. Егер бәрі сәтті болса, сіз терезеде осы хабарламаларды аласыз.

Ескертулер

  • Бұл бағдарлама оны іске қосқанда ғана жұмыс істейді және клиенттерді бір жергілікті желіде тексереді.
  • Python 2.7.10 ескірген және қолдауды аяқтауға жақын. Жақсы серверлерді құруды жалғастыру үшін оның орнына Python 3 соңғы нұсқасын орнату ұсынылады.

Ұсынылған: