Python менен сервер жазуунун 3 жолу

Мазмуну:

Python менен сервер жазуунун 3 жолу
Python менен сервер жазуунун 3 жолу

Video: Python менен сервер жазуунун 3 жолу

Video: Python менен сервер жазуунун 3 жолу
Video: 8 инструментов в Excel, которыми каждый должен уметь пользоваться 2024, Апрель
Anonim

Нөлдөн баштап Server түзүү - бул чоң милдет. Бирок, бул сиздин программалоо жөндөмүңүздү абдан жакшырта алат жана аны сиздин муктаждыктарыңызга өзгөртүүгө мүмкүндүк берет. Бул окуу куралы кардарлар бири -бири менен баарлаша алышы үчүн серверди түзүү үчүн python жана төмөнкү деңгээлдеги сокет программаларын колдонот. Бул ошондой эле терезелердеги процессти гана камтыйт. Кээ бир маалыматтар көрсөтмөлөрдө берилет, бирок эгер сиз жөн эле кодду кааласаңыз, анда ал сүрөттөрдө берилген. (Эскертүү: бул жерде берилген көрсөтмөлөр негиздери гана).

Кадамдар

Метод 3: Python орнотуу

Python менен сервер жазыңыз 1 -кадам
Python менен сервер жазыңыз 1 -кадам

Кадам 1. Python жүктөп алыңыз

Pythonдун башкы вебсайтына өтүңүз жана Python 2.7.10ду жүктөп алыңыз. Ал жүктөлгөндөн кийин, демейки жөндөөлөрү бар python орнотуучусунун кадамдары аркылуу өтөт. Бул шилтеме бул жерде берилген

Python 2 менен Сервер жазыңыз 2 -кадам
Python 2 менен Сервер жазыңыз 2 -кадам

Кадам 2. Run IDLE (Python GUI)

Python 2.7 папкасына кирип, IDLEди (Python GUI) иштетиңиз, python азыр IDLE жайгашкан баштоо менюңузда болушу керек.

Python менен Сервер жазыңыз 3 -кадам
Python менен Сервер жазыңыз 3 -кадам

Кадам 3. Жаңы файл түзүү

Жаңы ачылган терезенин жогорку сол бурчундагы Файлга өтүңүз жана Жаңы Файлды тандаңыз, сизде бош терезе аталышы бар ачык болушу керек.

Метод 2 3: Серверди түзүү

Python менен сервер жазыңыз 4 -кадам
Python менен сервер жазыңыз 4 -кадам

Кадам 1. Керектүү модулдарды импорттоо

Бул код үчүн керектүү эки модуль "розетка" жана "жип салуу" болуп саналат. Муну биринчи сапка "сокеттин импортунан *" жана кийинки сапка "импорттук жиптен" терүү аркылуу жасаса болот.

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

Кадам 2. Жаңы жип түзүү

Бул бири -бирине дал келген 2 кардарды башкарат. Threads - бул негизги программа иштеп турганда иштей турган процесстер. Сүрөттөгүдөй так жазыңыз. Бул жиптеги өзгөрмөлөрдү кийинчерээк чакырылышы үчүн орнотот.

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 менен Server жазыңыз
Python 11 менен Server жазыңыз

Кадам 2. Жумушуңузду сактаңыз

Бул сервер коду менен бир каталогдо болушу керек.

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

Кадам 3. Үч башка буйрук терезесин ачыңыз

Баштоо менюсуна өтүңүз жана издөө тилкесине "cmd" терип, Enter баскычын басыңыз. Муну үч жолу жасаңыз. Терезелер ушундай көрүнүшү керек.

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

Кадам 4. Программаларды иштетүү

Буйрук терезесин колдонууда так жолду терүүңүз керек болот. Адегенде сервер кодун бир буйрук терезесинде, андан кийин экинчисинде тест кардарынын кодун иштетүү керек болот. Эгер баары ийгиликтүү болсо, сиз терезеңизде бул билдирүүлөрдү аласыз.

Эскертүүлөр

  • Бул программа аны иштеткенде гана иштейт жана ошол эле локалдык тармакта кардарларды сынайт.
  • Python 2.7.10 эскирген жана колдоосунун аягына жакындап калды. Жакшы серверлерди жасоону улантуу үчүн, анын ордуна Python 3тун акыркы версиясын орнотуу сунушталат.

Сунушталууда: