Maison > Article > développement back-end > Introduction détaillée à la programmation php Socket
PHP utilise la bibliothèque de sockets de Berkley pour créer ses connexions. Vous pouvez savoir que le socket n’est qu’une structure de données. Vous utilisez cette structure de données socket pour démarrer une session entre le client et le serveur. Ce serveur est toujours à l'écoute et se prépare à générer une nouvelle session. Lorsqu'un client se connecte au serveur, il ouvre un port sur lequel le serveur écoute une session. A ce moment, le serveur accepte la demande de connexion du client, puis effectue une boucle . Le client peut désormais envoyer des informations au serveur, et le serveur peut envoyer des informations au client.
Pour générer un Socket, vous avez besoin de trois variables : un protocole, un type de socket et un type de protocole public. Vous avez le choix entre trois protocoles lors de la génération d'un socket. Continuez à lire ci-dessous pour obtenir le contenu détaillé du protocole.
Définir un type de protocole public est un élément essentiel pour la connexion
Commençons par un exemple simple --- une réception de caractère d'entrée chaîne, le traitement et le renvoi de cette chaîne au service TCP du client. Le code est le suivant :
<?php // 设置一些基本的变量 $host = "192.168.1.99"; $port = 1234; // 设置超时时间 set_time_limit(0); // 创建一个Socket $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n"); //绑定Socket到端口 $result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n"); // 开始监听链接 $result = socket_listen($socket, 3) or die("Could not set up socket listener\n"); // accept incoming connections // 另一个Socket来处理通信 $spawn = socket_accept($socket) or die("Could not accept incoming connection\n"); // 获得客户端的输入 $input = socket_read($spawn, 1024) or die("Could not read input\n"); // 清空输入字符串 $input = trim($input); //处理客户端输入并返回结果 $output = strrev($input) . "\n"; socket_write($spawn, $output, strlen ($output)) or die("Could not write output\n"); // 关闭sockets socket_close($spawn); socket_close($socket); ?>
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!