Maison >développement back-end >tutoriel php >Exemples expliquant la définition et l'utilisation des classes d'opérations réseau PHP Socket
Cet article présente principalement la définition et l'utilisation de la classe d'opérations réseau PHP Socket. Il analyse la définition de la classe d'opérations réseau PHP Socket sous forme d'exemples et les compétences d'utilisation associées telles que l'envoi de requêtes de requête en combinaison avec ajax Friends. ceux qui en ont besoin peuvent s'y référer
Les exemples de cet article décrivent la définition et l'utilisation des classes d'opération réseau PHP Socket. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
test web front-end :
<html> <head> <title>test</title> <script> g_xmlHttpReq = new XMLHttpRequest(); function onReplyCallback() { if(g_xmlHttpReq.readyState==4 && g_xmlHttpReq.status==200) { alert(g_xmlHttpReq.responseText); } } function on_stop_service() { var cmd = document.getElementById("inCmd").value; g_xmlHttpReq.open("GET","./service/main.php?cmd=" + cmd,true); g_xmlHttpReq.onreadystatechange=onReplyCallback; g_xmlHttpReq.send(null); } </script> </head> <body> <input type="text" id="inCmd"> <hr> <button onclick="on_stop_service()">关闭服务</button> </body> </html>
mysocket.php :
<?php class Connector { public static $instance=null; public $conn; private function __construct() { set_time_limit(0); $ip = '192.168.238.1'; $port = 8888; if(($this->conn = socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) < 0) { echo "socket_create() 失败的原因是:".socket_strerror($this->conn)."\n"; } $result = socket_connect($this->conn, $ip, $port); if ($result < 0) { echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n"; }else { echo "连接OK\n"; } } public static function getInstance() { if(is_null(self::$instance)) { self::$instance = new Connector; } return self::$instance; } public function sendMsg($msg) { socket_write($this->conn,$msg); } public function getMsg() { $clients = array($this->conn); while(true) { $read = $clients; $wrSet = NULL; $errSet = NULL; if(socket_select($read, $wrSet,$errSet, 3) < 1) { continue; } foreach($read as $read_sock) { $data = @socket_read($read_sock,1024,PHP_BINARY_READ); socket_close($this->conn); return $data; } } } } ?>
main.php (lieu appelant) :
<?php require_once('mysocket.php'); $con = Connector::getInstance(); $req = $_GET['cmd']; $con->sendMsg($req); $ret = $con->getMsg(); echo $ret; ?>
Description de l'application :
Le client lance une requête ajax pour appeler Php, puis PHP initie en outre une requête au module C++ à l'aide du 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!