3 maniere om 'n bediener met Python te skryf

INHOUDSOPGAWE:

3 maniere om 'n bediener met Python te skryf
3 maniere om 'n bediener met Python te skryf

Video: 3 maniere om 'n bediener met Python te skryf

Video: 3 maniere om 'n bediener met Python te skryf
Video: E-mails archiveren met Outlook | 5 manieren; wat is de handigste? 🤔👍 2024, April
Anonim

Dit is 'n groot taak om 'n bediener van nuuts af te skep. As u dit egter doen, kan u u programmeervaardighede aansienlik verbeter en kan u dit aan u behoeftes aanpas. Hierdie handleiding gebruik python- en lae -vlak -sokprogrammering om 'n bediener te skep sodat kliënte met mekaar kan kommunikeer. Dit sal ook slegs die proses op vensters dek. 'N Paar inligting word in die instruksies gegee, maar as u net die kode wil hê, word dit in die syfers verskaf. (Let wel: die instruksies wat hier aangebied word, is slegs die basiese beginsels).

Stappe

Metode 1 van 3: Python installeer

Skryf 'n bediener met Python Stap 1
Skryf 'n bediener met Python Stap 1

Stap 1. Laai Python af

Gaan na die hoofwebwerf van Python en laai Python 2.7.10 af. Nadat dit afgelaai is, word die stappe van die python -installeerder uitgevoer met standaardinstellings. Hierdie skakel word hier verskaf

Skryf 'n bediener met Python Stap 2
Skryf 'n bediener met Python Stap 2

Stap 2. Begin IDLE (Python GUI)

Gaan in die Python 2.7 -lêergids en voer IDLE (Python GUI) uit, python moet nou in u begin -kieslys wees waar die IDLE geleë is.

Skryf 'n bediener met Python Stap 3
Skryf 'n bediener met Python Stap 3

Stap 3. Skep 'n nuwe lêer

Gaan na File in die linker boonste hoek van die nuut oopgemaakte venster en kies New File, 'n leë venster moet oop wees met die titel Untitled.

Metode 2 van 3: Die skep van die bediener

Skryf 'n bediener met Python Stap 4
Skryf 'n bediener met Python Stap 4

Stap 1. Voer benodigde modules in

Die twee modules wat vir hierdie kode benodig word, is 'socket' en 'threading'. Dit kan gedoen word deur op die eerste reël "from socket import *" en op die volgende reël "import threading" te tik.

Skryf 'n bediener met Python Stap 5
Skryf 'n bediener met Python Stap 5

Stap 2. Skep 'n nuwe draad

Dit sal die ooreenstem met 2 kliënte met mekaar hanteer. Threads is prosesse wat kan loop terwyl die hoofprogram loop. Tik presies soos die figuur toon. Dit stel die veranderlikes in die draad op sodat hulle later genoem kan word.

Skryf 'n bediener met Python Stap 6
Skryf 'n bediener met Python Stap 6

Stap 3. Skep draadproses

Om kliënte direk te kan kommunikeer, moet u mekaar se inligting stuur, wat hul IP -adres insluit en watter poort hulle gebruik. Om dit te kan doen, moet u 'n socket -voorwerp skep wat gedoen kan word met 'variableName = socket (AF_NET, SOCK_DGRAM)'. Dit sal 'n socket -voorwerp skep wat die UDP -protokol gebruik. Koppel dan die aansluiting aan u IP -adres met 'n sekere poortnommer met "roomSocket.bind (('', self.port))" Die leë gebied staan vir u eie rekenaar IP -adres in u plaaslike netwerk en self.port ken die poortnommer wat ingesluit is wanneer u hierdie draad bel. Die laaste ding wat u met hierdie aansluiting moet doen, is om inligting daardeur te stuur. Aangesien dit 'n UDP -aansluiting is, moet u eenvoudig die IP en poort van die rekenaar na wie u inligting stuur stuur ken, die sintaksis vir stuur is 'socketName.sendto (IP, poort)'

Skryf 'n bediener met Python Stap 7
Skryf 'n bediener met Python Stap 7

Stap 4. Skep die globale veranderlikes

Vir hierdie stap moet u verskillende veranderlikes definieer, wat 'n gebruikerslys, poortnommers, kliëntetelling, kliënte vir die draad en die kamer -ID insluit. U moet ook 'n aansluiting skep sodat u bediener met die internet kan kommunikeer. Dit word gedoen deur 'n nuwe socket -voorwerp te skep en dit aan u IP -adres te bind met 'n sekere poortnommer. (Die poortnommer kan alles wees, maar dit is gewoonlik iets hoogs om te verhoed dat 'n ander proses dit gebruik of gereserveerde poortnommers gebruik.)

Skryf 'n bediener met Python Stap 8
Skryf 'n bediener met Python Stap 8

Stap 5. Skep die hoof bediener proses

Dit sal die kliëntadres opneem en die draad begin wat vroeër geskep is. Dit sluit in om te wag om data uit die buffer te ontvang, die kliëntadres te kry en dit op te slaan om in die draad gebruik te word. Die manier om inligting uit u sok te kry, is om deur 'socketName.recvfrom (1024)' te bel, die getal hier is slegs die hoeveelheid grepe wat op 'n slag gelees word. In hierdie voorbeeld stoor ons dit in 'n veranderlike genaamd userAddr, en sodra dit gebeur, kan u hierdie adres stoor in die lys wat in stap 4 geskep is. wanneer twee verskillende verbindings plaasvind.

Skryf 'n bediener met Python Stap 9
Skryf 'n bediener met Python Stap 9

Stap 6. Stoor u werk

Dit moet gedoen word in 'n maklike lêergids, sodat u dit maklik kan bekom om dit te toets.

Metode 3 van 3: Toetsing

Skryf 'n bediener met Python Stap 10
Skryf 'n bediener met Python Stap 10

Stap 1. Skep 'n toetskliënt

Dit is 'n baie basiese kliënt wat slegs kan hanteer of die bediener die inligting van die ander kliënt na die huidige kliënt gestuur het of nie. Let daarop dat hierdie kode, anders as die bedienerkode, 'n bedienernaam benodig. As u dit alles op een rekenaar gebruik, moet die bedienernaam die naam van u rekenaar wees. U kan die naam van u rekenaar vind deur met die rechtermuisknop op My rekenaar te klik en na eiendomme te gaan.

Skryf 'n bediener met Python Stap 11
Skryf 'n bediener met Python Stap 11

Stap 2. Stoor u werk

Dit moet in dieselfde gids as die bedienerkode wees.

Skryf 'n bediener met Python Stap 12
Skryf 'n bediener met Python Stap 12

Stap 3. Maak drie verskillende opdragvensters oop

Gaan na die beginkieslys en tik "cmd" in die soekbalk en druk enter. Doen dit drie keer. Die vensters moet so lyk.

Skryf 'n bediener met Python Stap 13
Skryf 'n bediener met Python Stap 13

Stap 4. Begin die programme

As u die opdragvenster gebruik, moet u die presiese pad invoer. U moet eers die bedienerkode op een opdragvenster uitvoer en dan die toetskliëntkode op die ander twee. As alles suksesvol was, kry u hierdie boodskappe in u venster.

Waarskuwings

  • Hierdie program werk slegs as dit uitgevoer word en kliënte op dieselfde plaaslike netwerk toets.
  • Python 2.7.10 is verouderd en is naby die einde van sy ondersteuning. Om aan te hou om goeie bedieners te maak, word aanbeveel dat die nuutste weergawe van Python 3 eerder geïnstalleer word.

Aanbeveel: