Maison > Article > développement back-end > Paramètres de connexion pour websocket en php sur MAC
Après avoir installé l'extension socket de php, vous pouvez utiliser les différentes fonctions socket fournies avec php. Tout d'abord, découvrez les paramètres pertinents et les méthodes d'utilisation de chaque fonction. Par exemple, je sais déjà qu'un serveur peut être connecté via websocket. . Le nom de domaine est 192.168.15.192 et le numéro de port est 9001. Vous pouvez utiliser les étapes d'appel pour comprendre la méthode de connexion par socket.
1. ## Tout d'abord, lors d'un appel, les deux parties doivent avoir un téléphone ; socket nécessite que les deux parties aient des numéros de socket, qui sont des noms de domaine
$socket_create = socket_create ; ($domain, $type , $protocal); ## Type de ressource
$error = socket_last_error($socket_create); ## Si la connexion réussit, ce sera int(0). , le code d'erreur sera renvoyé
$strerror = socket_strerror($error) ## Lire la description textuelle de l'erreur
## Mettre le lien officiel vers cette fonction http://php .net/manual/en/function.socket-create.php
## Le premier paramètre $domain est le protocole à utiliser par le socket spécifié
Il y a trois options, j'utilise le premier AF_INET :
AF_INET est basé sur le protocole Internet IPv4
AF_INET6 Protocole basé sur Internet IPv6
Protocole de communication local AF_UNIX
## Le deuxième paramètre $type est la méthode de connexion
Oui Choisissez ces cinq éléments, j'utilise le premier SOCK_STREAM :
SOCK_STREAM fournit un protocole TCP de socket séquentiel basé sur ce type
SOCK_DGRAM prend en charge les paquets de données UDP protocole basé sur ce type
SOCK_SEQPACKET Fournit une transmission ordonnée pour les datagrammes de longueur maximale fixe Lit l'intégralité du paquet à chaque demande de ping d'appel)
SOCK_RDM ne garantit pas un tri fiable
#. # Le troisième paramètre $protocal sert à définir le domaine de protocole spécifique spécifié ; vous pouvez appeler getprotobyname($name) pour récupérer la valeur, $name est une chaîne. Cela peut être "ip", "icmp", "ggp", "tcp ", "egp", "pup", "udp", "hmp", "xns-idp", "rdp", "rvd", j'utilise Celui-ci est getprotobyname("tcp"), qui renvoie 6, ce qui correspond à la constante SOL_TCP.
Il ne devrait y avoir que 2 types du troisième paramètre. Je ne sais pas pourquoi il y a autant de $name :
SOL_TCP ## J'ai utilisé cette constante pour tester. avec succès
SOL_UDP ## Si vous ne l'avez pas essayé, veuillez Google...
D'autres constantes peuvent se référer au manuel officiel de définition des constantes http:// php.net/manual/en/sockets.constants.php
2. Composez un appel vers l'autre partie ; équivalent à émettre une demande de connexion
$result = socket_connect($ socket_create, " 192.168.15.192", "9001");
## Le premier des trois paramètres est la ressource de socket_create, le deuxième est le nom de domaine et le troisième est le numéro de port
3. Lire les informations
## socket_read a au moins 2 paramètreswhile($out = socket_read($create_socket, $length)){ var_dump($out); }
Le premier paramètre est la ressource create_socket
Le deuxième paramètre écrit les données que vous souhaitez recevoir L'unité de longueur est en octets
Le troisième paramètre est le type et peut être omis. La valeur par défaut est la constante PHP_BINARY_READ
Ce qui précède est la méthode de connexion du websocket en PHP.
Mais dans le processus d'utilisation réel, la page du navigateur ne peut souvent pas lire les informations normalement. Vous pouvez peut-être utiliser swoole pour améliorer la connexion
.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!