Source de données : Socket
1Présentation
Cette source de données permet de se connecter à un serveur (local ou distant) en utilisant une socket (réseau ou Unix), en TCP/IP, en UDP/IP ou en TCP/IP+SSL.
Elle peut être utilisée pour se connecter à un serveur HTTP(S), (x)inetd, etc.
Si vous avez correctement configuré les paramètres de connexion par socket, Temma crée automatiquement un objet de type \Temma\Datasources\Socket. Par convention, nous partirons du principe que vous avez nommé cette connexion sock dans le fichier etc/temma.php (voir la documentation de la configuration).
La connexion est alors disponible dans le contrôleur en écrivant :
Dans les autres objets gérés par le composant d'injection de dépendances, la connexion par socket est accessible en écrivant :
2Configuration
Dans le fichier etc/temma.php (voir la documentation de la configuration), vous déclarez le DSN (Data Source Name) qui permet d'ouvrir une socket.
Le DSN permettant de créer la socket s'écrit de la forme :
PROTOCOLE://SERVEUR:PORT[#TIMEOUT]
Dans le cas d'une socket Unix, le DSN s'écrira de la forme :
unix:///chemin/vers/socket.sock
-
PROTOCOLE : est le protocole à utiliser.
- tcp : pour ouvrir une socket TCP.
- udp : pour ouvrir une socket UDP.
- ssl : pour ouvrir une socket TCP+SSL. L'objet tentera de négocier une connexion SSLv2 ou SSLv3, en fonction du serveur.
- sslv2 : pour ouvrir une socket TCP+SSLv2.
- sslv3 : pour ouvrir une socket TCP+SSLv3.
- tls : pour ouvrir une socket TCP+TLS.
- unix : pour ouvrir une socket Unix.
- SERVEUR : est le nom du serveur auquel se connecter, ou son adresse IP. Les adresses IPv6 doivent être écrites entre crochets.
- PORT : est le numéro de port de connexion.
- TIMEOUT : (optionnel) est le délai de timeout pour la connexion, en secondes. Ce paramètre ne s'applique que pour les sockets réseau, pas pour les sockets Unix.
Exemples :
- udp://localhost:7
- tcp://www.google.com:80
- ssl://www.google.com:443#3
- tls://[fe80::1]:443
- unix:///var/run/myapp/myapp.sock