Module Lua socket
Le module socket
permet d'interagir avec des sockets, en facilitant la communication réseau pour la lecture et l'écriture de données. Les paramètres de configuration incluent l'adresse IP, le port, et le timeout.
Pour l'importer il faut utiliser la déclaration suivante :
Configuration
Le module socket
nécessite une configuration spécifique pour fonctionner. Cette configuration est définie dans le fichier de configuration de l'agent.
Pour la configuration voici un exemple de toutes les options possibles :
iot:
modules:
socket: # module serial
- name: socket1 # nom du module
address: "127.0.0.1"
port: 8080 # port
Détails de la configuration
- name : Nom du module. Il doit être unique et ne pas contenir d'espaces ou de caractères spéciaux.
- address : Adresse IP à utiliser.
- port : Port à utiliser. Il doit être au format
8080
ou80
(pour HTTP).
Fonctions Lua
socket.connect()
Etablit une connexion avec le socket configuré.
- Retour :
true
si la connexion est réussie.- En cas d'échec, retourne
nil
suivi d'un message d'erreur.
local socket = require("socket1")
local status, err = socket.connect()
if not status then
print("Erreur lors de la connexion au socket : " .. err)
else
print("Connexion réussie au socket.")
end
socket.disconnect()
Déconnecte le socket configuré.
- Retour :
true
si la déconnexion est réussie.- En cas d'échec, retourne
nil
suivi d'un message d'erreur.
local socket = require("socket1")
local status, err = socket.disconnect()
if not status then
print("Erreur lors de la déconnexion du socket : " .. err)
else
print("Déconnexion réussie du socket.")
end
socket.send(data)
Envoie des données au socket configuré.
- Paramètres :
data
(string) : Les données à envoyer au socket.- Retour :
true
si l'envoi est réussi.- En cas d'échec, retourne
nil
suivi d'un message d'erreur.
local socket = require("socket1")
local data = "Hello, World!"
local status, err = socket.send(data)
if not status then
print("Erreur lors de l'envoi des données au socket : " .. err)
else
print("Données envoyées avec succès au socket.")
end
socket.receive()
Lit des données du socket configuré.
- Retour :
- Les données lues sous forme de chaîne de caractères, ou un message d'erreur en cas d'échec.
local socket = require("socket1")
local data, err = socket.receive()
if err then
print("Erreur lors de la lecture des données du socket : " .. err)
else
print("Données lues depuis le socket : " .. data)
end
Champs Lua associés
socket.name
: Retourne le nom de l'instancesocket
.socket.type
: Retourne le type du module (ici,socket1
).