Module Lua socket
Le module socket permet d'établir des connexions TCP vers des serveurs distants.
Import
Configuration YAML
Le module socket nécessite une configuration spécifique pour fonctionner. Cette configuration est définie dans le fichier de configuration de l'agent.
iot:
modules:
socket:
- name: socket1 # nom unique du module
address: "127.0.0.1" # adresse IP du serveur
port: 8080 # port TCP
connect_timeout: 30 # timeout de connexion en secondes (défaut : 30)
read_timeout: 30 # timeout de lecture en secondes (défaut : 30)
Détails de la configuration
name(string, requis) : Nom du module. Il doit être unique et ne pas contenir d'espaces ou de caractères spéciaux.address(string, requis) : Adresse IP ou hostname du serveur distant.port(integer, requis) : Port TCP du serveur.connect_timeout(integer) : Timeout de connexion en secondes (défaut :30).read_timeout(integer) : Timeout de lecture en secondes (défaut :30).
API Lua
Liste des fonctions
| Fonction | Signature Lua | Rôle | Retour |
|---|---|---|---|
connect |
msg = socket.connect() |
Ouvre la connexion TCP. | string (message de statut) |
close |
msg = socket.close() |
Ferme la connexion TCP. | string (message de statut) |
send |
msg = socket.send(data) |
Envoie des données. | string (message de statut) |
receive |
data = socket.receive() |
Reçoit des données. | string (données ou erreur) |
| Champs | socket.name, socket.type |
Métadonnées du module. | – |
socket.connect()
Établit une connexion TCP avec le serveur configuré.
- Paramètres : Aucun
- Retour :
- Une chaîne de caractères indiquant le statut ("Connected successfully" ou message d'erreur).
local socket = require("socket1")
local msg = socket.connect()
print(msg) -- "Connected successfully" ou erreur
socket.close()
Ferme la connexion TCP.
- Paramètres : Aucun
- Retour :
- Une chaîne de caractères indiquant le statut ("Connection closed" ou message d'erreur).
socket.send(data)
Envoie des données au serveur connecté.
- Paramètres :
data(string) : Les données à envoyer.- Retour :
- Une chaîne de caractères indiquant le statut ("Message sent successfully" ou message d'erreur).
local socket = require("socket1")
socket.connect()
local msg = socket.send("Hello, World!")
print(msg) -- "Message sent successfully"
socket.close()
socket.receive()
Lit des données depuis la connexion TCP. La fonction bloque jusqu'à réception de données ou timeout (30 secondes par défaut).
- Paramètres : Aucun
- Retour :
- Les données reçues sous forme de chaîne de caractères, ou un message d'erreur.
local socket = require("socket1")
socket.connect()
socket.send("GET / HTTP/1.0\r\n\r\n")
local data = socket.receive()
print(data)
socket.close()
Champs Lua associés
socket.name: Retourne le nom de l'instancesocket.socket.type: Retourne le type du module ("socket").