Maison >développement back-end >tutoriel php >Méthode PHP pour implémenter la fonction de communication entre le client et le serveur basée sur le socket
Cet article présente principalement la fonction de communication client-serveur simple implémentée par PHP basée sur socket. Il peut réaliser la fonction du serveur qui reçoit la chaîne envoyée par le client, la retourne et la renvoie au client. Les amis dans le besoin peuvent s'y référer. à lui
Serveur :
<?php set_time_limit(0); $host="localhost"; $port=1001; //创建一个连接 $socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)or die("cannot create socket\n"); //绑定socket到端口 $result=socket_bind($socket,$host,$port) or die("cannot bind port to socket\n"); //开始监听这个端口 $result=socket_listen($socket,4) or die("could not set up socket listen\n"); //接受连接,另一个socket来处理通信 $msgsock=socket_accept($socket) or die("cannot accept incoming connection\n"); if($msgsock){ echo date("Y-m-d H:i:s D a"); } //读取客户端发送过来的信息 $input=socket_read($msgsock,1024) or die("cannot read input\n"); $input=trim($input); $output=strrev($input)."顺序反过来了吧\n"; //对接收到的信息进行处理,然后返回到客户端 socket_write($msgsock,$output,strlen($output)) or die("cannot write"); //关闭socket连接 socket_close($msgsock); socket_close($socket); ?>
Client :
<?php set_time_limit(0); $host="localhost"; $port=1001; //创建一个socket $socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)or die("cannot create socket\n"); $conn=socket_connect($socket,$host,$port) or die("cannot connect server\n"); if($conn){echo "client connect ok!";} socket_write($socket,"hello world!") or die("cannot write data\n"); $buffer=socket_read($socket,1024,PHP_NORMAL_READ); if($buffer){ echo "response was:".$buffer."\n"; } socket_close($socket); ?>
PHP implémente websocketExplication détaillée des étapes de transmission des messages en temps réel
Analyse de l'utilisation de la communication WebSocket
Nginx reverse proxy websocket instance de configuration
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!