3 начина да напишете сървър с Python

Съдържание:

3 начина да напишете сървър с Python
3 начина да напишете сървър с Python

Видео: 3 начина да напишете сървър с Python

Видео: 3 начина да напишете сървър с Python
Видео: Microsoft Outlook. Весь функционал за 25 минут 2024, Април
Anonim

Създаването на сървър от нулата е голяма задача. Това обаче може значително да подобри уменията ви за програмиране и може да ви позволи да го промените според вашите нужди. Този урок ще използва програмиране на python и ниско ниво за създаване на сървър, така че клиентите да могат да комуникират помежду си. Това също ще обхване само процеса на Windows. В инструкциите ще бъде дадена известна информация, но ако просто искате кода, той е посочен на фигурите. (Забележка: представените тук инструкции са само основите).

Стъпки

Метод 1 от 3: Инсталиране на 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. Създайте нов файл

Отидете на Файл в горния ляв ъгъл на новооткрития прозорец и изберете Нов файл, трябва да имате отворен празен прозорец със заглавието Без заглавие.

Метод 2 от 3: Създаване на сървъра

Напишете сървър с Python Стъпка 4
Напишете сървър с Python Стъпка 4

Стъпка 1. Импортирайте необходимите модули

Двата модула, необходими за този код, са „socket“и „threading“. Това може да стане, като въведете на първия ред „от socket import *“и на следващия ред „import threading“.

Напишете сървър с 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. Създайте глобалните променливи

За тази стъпка ще трябва да дефинирате няколко променливи, които включват списък с потребители, номера на портове, брой клиенти, клиенти за нишката и ID на стаята. Също така ще трябва да създадете гнездо, така че вашият сървър да може да взаимодейства с интернет. Това става чрез създаване на нов обект на гнездо и обвързването му с вашия IP адрес с определен номер на порт. (Номерът на порта може да бъде всичко, но обикновено е нещо високо, за да се избегне използването на друг процес или използване на запазени номера на портове.)

Напишете сървър с Python Стъпка 8
Напишете сървър с Python Стъпка 8

Стъпка 5. Създайте процеса на основния сървър

Това ще вземе адреса на клиента, както и ще започне нишката, създадена по -рано. Това включва изчакване за получаване на данни от буфера и получаване на клиентския адрес и запазването им за използване в нишката. Начинът да получите информация от гнездото си е да се обадите чрез „socketName.recvот (1024)“, числото тук е само количеството байтове, които се четат наведнъж. В този пример го съхраняваме в променлива, наречена userAddr, и след като това се случи, можете да запишете този адрес в списъка, създаден в стъпка 4. Изразът if ще създаде нишка на стая, ако двама души се свържат и ще създаде само стая когато се случат две различни връзки.

Напишете сървър с Python Стъпка 9
Напишете сървър с Python Стъпка 9

Стъпка 6. Запазете работата си

Това трябва да стане в директория, която е лесна за достъп, за да може лесно да бъде достъпен за тестване.

Метод 3 от 3: Тестване

Напишете сървър с Python Стъпка 10
Напишете сървър с Python Стъпка 10

Стъпка 1. Създайте пробен клиент

Това е много основен клиент, който ще обработва само дали сървърът е изпратил или не информацията на другия клиент към текущия клиент. Моля, обърнете внимание, че за разлика от кода на сървъра, този код изисква име на сървър. Ако използвате всичко това на един компютър, името на сървъра трябва да е името на вашия компютър. Можете да разберете името на компютъра си, като щракнете с десния бутон върху My Computer и отидете в Properties.

Напишете сървър с Python Стъпка 11
Напишете сървър с Python Стъпка 11

Стъпка 2. Запазете работата си

Това трябва да е в същата директория като кода на сървъра.

Напишете сървър с Python Стъпка 12
Напишете сървър с Python Стъпка 12

Стъпка 3. Отворете три различни командни прозореца

Отидете в менюто "Старт" и в лентата за търсене въведете "cmd" и натиснете enter. Направете това три пъти. Прозорците трябва да изглеждат така.

Напишете сървър с Python Стъпка 13
Напишете сървър с Python Стъпка 13

Стъпка 4. Стартирайте програмите

Когато използвате командния прозорец, ще трябва да въведете точния път. Първо трябва да стартирате кода на сървъра в един команден прозорец, а след това кода на тестовия клиент в другите два. Ако всичко беше успешно, ще получите нещо от тези съобщения във вашия прозорец.

Предупреждения

  • Тази програма ще работи само когато я стартирате и тествате клиенти в същата локална мрежа.
  • Python 2.7.10 е остарял и е близо до края на своята поддръжка. За да продължите да правите добри сървъри, се препоръчва вместо това да се инсталира най -новата версия на Python 3.

Препоръчано: