English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Nella comunicazione bidirezionale, i socket sono due estremi. I socket possono comunicare tra processi sulla stessa macchina o in diverse continenti.
I socket sono implementati da diversi tipi di canali TCP, UDP.
Per creare un Socket, abbiamo bisogno del modulo socket e della funzione socket.socket().
my_socket = socket.socket(socket_family, socket_type, protocol=0)
Diversi metodi del socket server
my_socket.bind()
Questo metodo viene utilizzato per associare l'indirizzo (paia di nome host, porta) al socket.
my_socket.listen()
Questo metodo viene utilizzato per impostare e avviare il listener TCP.
my_socket.accept()
Questo metodo viene utilizzato per accettare la connessione del client TCP, aspettando che la connessione arrivi (bloccante).
my_socket.connect()
Questo metodo avvia attivamente la connessione del server TCP.
my_socket.recv()
Questo metodo riceve messaggi TCP
my_socket.send()
Questo metodo trasmette messaggi TCP
my_socket.recvfrom()
Questo metodo riceve messaggi UDP
my_socket.sendto()
Questo metodo trasmette messaggi UDP
my_socket.close()
Questo metodo chiude il socket
my_socket.gethostname()
Questo metodo restituisce il nome dell'host.
import socket my_socket = socket.socket() # Crea un oggetto socket my_host = socket.gethostname() my_port = 00000# Memorizza un numero di porta per il tuo servizio. my_socket.bind((my_host, my_port)) my_socket.listen(5) # Ora aspetta la connessione del client. while True: cl, myaddr = my_socket.accept() # Estabilisci la connessione con il client. print('ottenuta connessione da', myaddr) cl.send('Grazie per la connessione') cl.close() # Chiudi la connessione
import socket # Importa il modulo socket my_socket = socket.socket() # Crea un oggetto socket my_host = socket.gethostname() # Ottieni il nome del computer locale my_port = 00000# Memorizza un numero di porta per il tuo servizio. my_socket.connect((my_host, my_port)) print(my_socket.recv(1024)) my_socket.close