3 modi per scrivere un server con Python

Sommario:

3 modi per scrivere un server con Python
3 modi per scrivere un server con Python

Video: 3 modi per scrivere un server con Python

Video: 3 modi per scrivere un server con Python
Video: CORSO BASE OUTLOOK: 07 L'archiviazione automatica e non della posta e degli altri elementi 2024, Aprile
Anonim

Creare un server da zero è un compito arduo. Tuttavia, ciò può migliorare notevolmente le tue capacità di programmazione e può consentirti di modificarlo in base alle tue esigenze. Questo tutorial utilizzerà Python e la programmazione socket di basso livello per creare un server in modo che i client possano comunicare tra loro. Questo coprirà anche solo il processo su Windows. Alcune informazioni verranno fornite nelle istruzioni, ma se si desidera solo il codice, è fornito nelle figure. (Nota: le istruzioni qui presentate sono solo le basi).

Passi

Metodo 1 di 3: installazione di Python

Scrivi un server con Python Passaggio 1
Scrivi un server con Python Passaggio 1

Passaggio 1. Scarica Python

Vai al sito Web principale di Python e scarica Python 2.7.10. Dopo il download, esegui i passaggi del programma di installazione di Python con le impostazioni predefinite. Questo collegamento è fornito qui

Scrivi un server con Python Passaggio 2
Scrivi un server con Python Passaggio 2

Passaggio 2. Esegui IDLE (GUI Python)

Vai nella cartella Python 2.7 ed esegui IDLE (Python GUI), python dovrebbe ora trovarsi nel menu di avvio in cui si trova IDLE.

Scrivi un server con Python Passaggio 3
Scrivi un server con Python Passaggio 3

Passaggio 3. Crea un nuovo file

Vai su File nell'angolo in alto a sinistra della finestra appena aperta e seleziona Nuovo file, dovresti avere una finestra vuota aperta con il titolo Senza titolo.

Metodo 2 di 3: creazione del server

Scrivi un server con Python Passaggio 4
Scrivi un server con Python Passaggio 4

Passaggio 1. Importa i moduli necessari

I due moduli necessari per questo codice sono "socket" e "threading". Questo può essere fatto digitando nella prima riga “from socket import *” e nella riga successiva “import threading”.

Scrivi un server con Python Passaggio 5
Scrivi un server con Python Passaggio 5

Passaggio 2. Crea un nuovo thread

Questo gestirà l'abbinamento di 2 client l'uno con l'altro. I thread sono processi che possono essere eseguiti durante l'esecuzione del programma principale. Digita esattamente come mostra la figura. Questo imposterà le variabili nel thread in modo che possano essere chiamate in seguito.

Scrivi un server con Python Passaggio 6
Scrivi un server con Python Passaggio 6

Passaggio 3. Crea processo thread

Affinché i clienti possano comunicare direttamente, è necessario scambiarsi le informazioni reciproche, che includono il loro indirizzo IP e quale porta stanno utilizzando. Per fare ciò è necessario creare un oggetto socket che può essere fatto con “variableName = socket(AF_NET, SOCK_DGRAM)”. Questo creerà un oggetto socket che usa il protocollo UDP. Quindi Associa il socket al tuo indirizzo IP con un certo numero di porta con "roomSocket.bind((' ', self.port))" L'area vuota rappresenta l'indirizzo IP del tuo PC all'interno della tua rete locale e self.port assegna il numero di porta incluso quando chiami questo thread. L'ultima cosa che devi fare con questo socket è inviare informazioni attraverso di esso. Poiché si tratta di un socket UDP, devi semplicemente conoscere l'IP e la porta del computer a cui stai inviando le informazioni, la sintassi per l'invio è "socketName.sendto(IP, port)"

Scrivi un server con Python Passaggio 7
Scrivi un server con Python Passaggio 7

Passaggio 4. Creare le variabili globali

Per questo passaggio sarà necessario definire diverse variabili, che includono un elenco di utenti, numeri di porta, conteggio client, client per il thread e l'ID della stanza. Dovrai anche creare un socket in modo che il tuo server possa interagire con Internet. Questo viene fatto creando un nuovo oggetto socket e associandolo al tuo indirizzo IP con un certo numero di porta. (Il numero di porta può essere qualsiasi cosa, ma di solito è qualcosa di alto per evitare che un altro processo lo utilizzi o utilizzi numeri di porta riservati.)

Scrivi un server con Python Passaggio 8
Scrivi un server con Python Passaggio 8

Passaggio 5. Creare il processo del server principale

Ciò richiederà l'indirizzo del client e avvierà il thread creato in precedenza. Ciò include l'attesa di ricevere i dati dal buffer e il recupero dell'indirizzo del client e il salvataggio per l'utilizzo nel thread. Il modo per ottenere informazioni dal tuo socket è chiamare con "socketName.recvfrom(1024)", il numero qui è solo la quantità di byte che vengono letti alla volta. In questo esempio lo stiamo memorizzando in una variabile chiamata userAddr, e una volta che ciò accade è possibile salvare questo indirizzo nell'elenco creato nel passaggio 4. L'istruzione if creerà un thread di una stanza se due persone si connettono e creerà solo una stanza quando si verificano due connessioni diverse.

Scrivi un server con Python Passaggio 9
Scrivi un server con Python Passaggio 9

Passaggio 6. Salva il tuo lavoro

Questo dovrebbe essere fatto in una directory facile da raggiungere in modo che sia possibile accedervi facilmente per i test.

Metodo 3 di 3: test

Scrivi un server con Python Passaggio 10
Scrivi un server con Python Passaggio 10

Passaggio 1. Creare un client di prova

Questo è un client molto semplice che gestirà solo se il server ha inviato o meno le informazioni dell'altro client al client corrente. Tieni presente che, a differenza del codice server, questo codice richiede un nome server. Se stai eseguendo tutto questo su un computer, il nome del server dovrebbe essere il nome del tuo PC. Puoi scoprire il nome del tuo computer facendo clic con il pulsante destro del mouse su Risorse del computer e andando su Proprietà.

Scrivi un server con Python Passaggio 11
Scrivi un server con Python Passaggio 11

Passaggio 2. Salva il tuo lavoro

Dovrebbe trovarsi nella stessa directory del codice del server.

Scrivi un server con Python Passaggio 12
Scrivi un server con Python Passaggio 12

Passaggio 3. Aprire tre diverse finestre di comando

Vai al menu di avvio e nella barra di ricerca digita "cmd" e premi invio. Fallo tre volte. Le finestre dovrebbero essere così.

Scrivi un server con Python Passaggio 13
Scrivi un server con Python Passaggio 13

Passaggio 4. Eseguire i programmi

Dovrai digitare il percorso esatto quando usi la finestra di comando. Sarà necessario eseguire prima il codice del server su una finestra di comando e poi il codice del client di prova sulle altre due. Se tutto è andato a buon fine otterrai qualcosa di questi messaggi nella tua finestra.

Avvertenze

  • Questo programma funzionerà solo quando lo si esegue e testa i client sulla stessa rete locale.
  • Python 2.7.10 è obsoleto e si sta avvicinando alla fine del suo supporto. Per continuare a creare buoni server, si consiglia di installare invece l'ultima versione di Python 3.

Consigliato: