Référence : Fonctions Pyduino
Classe EthernetServer : close()
Description
- Cette fonction permet de fermer l'objet EthernetServer lorsqu'il n'est plus nécessaire.
Syntaxe
Paramètres
- server : un objet EthernetServer défini par son IP locale et le port d'écoute
Valeur renvoyée
- Aucune
Exemple:
Code *.yno à copier/coller dans l'IDE Pyduino
Voir ici si vous préférez convertir le code Pyduino en code Python pour l'utiliser avec l'éditeur Geany par exemple.
# exemple pyDuino - par X. HINAULT - www.mon-club-elec.fr
# Juin 2013 - Tous droits réservés - GPLv3
# test Ethernet Server
# entete declarative
ipLocale=Ethernet.localIP() # auto - utilise l'ip de l'interface eth0 du systeme
#ipLocale='192.168.1.25' # manuel - attention : utiliser la meme IP qu'une interface reseau du systeme
# pour connaitre les interfaces reseau sur le systeme : utiliser la commande $ ifconfig
print ipLocale # affiche l'adresse IP
port=8080 # attention port doit etre au dessus de 1024 sinon permission refusee par securite - 8080 pour http
serverHTTP=EthernetServer(ipLocale, port) # crée un objet serveur utilisant le port 8080 = port HTTP > 1024
#--- setup ---
def setup():
global serverHTTP
#serverHTTP.begin(10) # initialise le serveur - fixe nombre max connexion voulu
serverHTTP.begin() # initialise le serveur - nombre max connexion par defaut = 5
#--- fin setup
# -- loop --
def loop():
global serverHTTP
print ("Attente nouvelle connexion entrante...")
clientDistant, ipDistante = serverHTTP.clientAvailable() # attend client entrant
# code bloque ici tant que pas client ! Si present, on recupere d'un coup objet client ET son ip
print "Client distant connecte avec ip :"+str(ipDistante) # affiche IP du client
#--- requete client ---
requete=serverHTTP.readDataFrom(clientDistant) # lit les donnees en provenance client d'un coup
print requete # affiche requete recue
#--- reponse serveur ---
reponse=( # ( ... ) pour permettre multiligne..
httpResponse() # entete http OK 200 automatique fournie par la librairie Pyduino
+"Serveur OK : " + nowdatetime() +"\n" # contenu page - ici date / heure du serveur
) # fin reponse
serverHTTP.writeDataTo(clientDistant, reponse) # envoie donnees vers client d'un coup
print "Reponse envoyee au client distant : "
#print (bytes(reponse))
print (reponse) # affiche la reponse envoyee
#serverHTTP.close()
# remarque : le socket = serveur doit rester ouvert
# quand on quitte : la connexion TCP reste active un peu donc erreur si re-execution trop rapide
# on peut utiliser un port voisin dans ce cas...
delay(10) # entre 2 loop()
# -- fin loop --
Lien utile
- Cette fonction est basée sur la fonction close de la classe socket du module Python socket : http://docs.python.org/2/library/socket.html#socket.socket.close
Commentaires utilisateurs
Aucun commentaire.
Voir également
Page d'accueil de la référence Pyduino en français
Corrections, suggestions et nouvelle documentation peuvent être postées à l'adresse suivante : support_at_mon-club-elec_point_fr
Cette page a été réalisée par Xavier HINAULT (2013) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.