Izveidot serveri no nulles ir liels uzdevums. Tomēr tas var ievērojami uzlabot jūsu programmēšanas prasmes un ļaut jums to pielāgot savām vajadzībām. Šī apmācība izmantos python un zema līmeņa ligzdas programmēšanu, lai izveidotu serveri, lai klienti varētu sazināties savā starpā. Tas arī attieksies tikai uz Windows procesu. Daļa informācijas tiks sniegta instrukcijās, bet, ja vēlaties tikai kodu, tas ir norādīts attēlos. (Piezīme: šeit sniegtie norādījumi ir tikai pamati).
Soļi
1. metode no 3: Python instalēšana
1. solis. Lejupielādējiet Python
Dodieties uz python galveno vietni un lejupielādējiet Python 2.7.10. Pēc lejupielādes tiek veiktas python instalētāja darbības ar noklusējuma iestatījumiem. Šī saite ir pieejama šeit
2. solis. Palaidiet IDLE (Python GUI)
Iet uz mapi Python 2.7 un palaidiet IDLE (Python GUI), tagad python vajadzētu būt sākuma izvēlnē, kur atrodas IDLE.
3. Izveidojiet jaunu failu
Dodieties uz failu jaunatvērtā loga augšējā kreisajā stūrī un atlasiet Jauns fails, jums vajadzētu atvērt tukšu logu ar nosaukumu Bez nosaukuma.
2. metode no 3: servera izveide
1. darbība. Importējiet nepieciešamos moduļus
Šim kodam vajadzīgie divi moduļi ir “ligzda” un “vītņošana”. To var izdarīt, pirmajā rindā ierakstot “no kontaktligzdas importēšanas *” un nākamajā rindiņā “importēt pavedienu”.
2. solis. Izveidojiet jaunu pavedienu
Tādējādi tiks saskaņoti 2 klienti. Pavedieni ir procesi, kas var darboties, kamēr darbojas galvenā programma. Ierakstiet tieši tā, kā parādīts attēlā. Tādējādi pavedienā tiks iestatīti mainīgie, lai tos varētu izsaukt vēlāk.
Solis 3. Izveidojiet pavedienu procesu
Lai klienti varētu sazināties tieši, jums ir jānosūta viens otram informācija, tostarp viņu IP adrese un tas, kuru portu viņi izmanto. Lai to izdarītu, jums ir jāizveido ligzdas objekts, ko var izdarīt ar “variableName = socket (AF_NET, SOCK_DGRAM)”. Tādējādi tiks izveidots ligzdas objekts, kas izmanto UDP protokolu. Tālāk Piesieniet ligzdu savai IP adresei ar noteiktu porta numuru ar “roomSocket.bind (('', self.port))” Tukšais laukums apzīmē jūsu datora IP adresi jūsu lokālajā tīklā un self.port porta numurs, kas tiek iekļauts, zvanot uz šo pavedienu. Pēdējā lieta, kas jums jādara ar šo kontaktligzdu, ir nosūtīt informāciju caur to. Tā kā šī ir UDP ligzda, jums vienkārši jāzina tā datora IP un ports, uz kuru sūtāt informāciju, sūtīšanas sintakse ir “socketName.sendto (IP, ports)”
4. solis. Izveidojiet globālos mainīgos
Šajā solī jums būs jādefinē vairāki mainīgie, kas ietver lietotāju sarakstu, portu numurus, klientu skaitu, pavediena klientus un telpas ID. Jums arī būs jāizveido kontaktligzda, lai jūsu serveris varētu mijiedarboties ar internetu. Tas tiek darīts, izveidojot jaunu kontaktligzdas objektu un piesaistot to jūsu IP adresei ar noteiktu porta numuru. (Porta numurs var būt jebkas, bet parasti tas ir kaut kas augsts, lai izvairītos no cita procesa izmantošanas vai rezervētu portu numuru izmantošanas.)
Solis 5. Izveidojiet galvenā servera procesu
Tas ņems vērā klienta adresi, kā arī sāks agrāk izveidoto pavedienu. Tas ietver gaidīšanu, lai saņemtu datus no bufera un iegūtu klienta adresi un saglabātu to izmantošanai pavedienā. Informāciju no kontaktligzdas var iegūt, zvanot pa numuru “socketName.recvfrom (1024)”. Šeit norādītais skaitlis ir tikai baitu daudzums, kas tiek nolasīts vienlaikus. Šajā piemērā mēs to glabājam mainīgajā ar nosaukumu userAddr, un, kad tas ir noticis, varat saglabāt šo adresi sarakstā, kas tika izveidots 4. solī. Ja paziņojums izveidos telpas pavedienu, ja divi cilvēki izveidos savienojumu un izveidos tikai telpu kad notiek divi dažādi savienojumi.
6. solis. Saglabājiet savu darbu
Tas jādara direktorijā, kurā ir viegli piekļūt, lai tam varētu viegli piekļūt testēšanai.
3. metode no 3: pārbaude
1. darbība. Izveidojiet testa klientu
Šis ir ļoti vienkāršs klients, kas apstrādās tikai to, vai serveris ir nosūtījis otra klienta informāciju pašreizējam klientam. Lūdzu, ņemiet vērā, ka atšķirībā no servera koda šim kodam ir nepieciešams servera nosaukums. Ja jūs to visu izmantojat vienā datorā, servera nosaukumam ir jābūt datora nosaukumam. Jūs varat uzzināt sava datora nosaukumu, ar peles labo pogu noklikšķinot uz Mans dators un dodoties uz Rekvizīti.
2. solis. Saglabājiet savu darbu
Tam vajadzētu būt tajā pašā direktorijā kā servera kods.
3. solis. Atveriet trīs dažādus komandu logus
Dodieties uz sākuma izvēlni un meklēšanas joslā ierakstiet “cmd” un nospiediet taustiņu Enter. Dariet to trīs reizes. Logiem vajadzētu izskatīties šādi.
Solis 4. Palaidiet programmas
Izmantojot komandu logu, jums būs jāievada precīzs ceļš. Vispirms vienā komandu logā būs jāpalaiž servera kods, bet pārējos divos - testa klienta kods. Ja viss bija veiksmīgs, jūs savā logā saņemsit kaut ko no šiem ziņojumiem.
Brīdinājumi
- Šī programma darbosies tikai tās palaišanas laikā un pārbaudīs klientus tajā pašā lokālajā tīklā.
- Python 2.7.10 ir novecojis un tuvojas tā atbalsta beigām. Lai turpinātu veidot labus serverus, tā vietā ieteicams instalēt jaunāko Python 3 versiju.