In diesem Artikel werden hauptsächlich die Definition und Verwendung der PHP-Socket-Netzwerkoperationsklasse anhand von Beispielen und verwandten Verwendungsfähigkeiten wie dem Senden von Abfrageanforderungen in Kombination mit Ajax Friends vorgestellt Bei Bedarf kann darauf verwiesen werden
Die Beispiele in diesem Artikel beschreiben die Definition und Verwendung von PHP-Socket-Netzwerkbetriebsklassen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Web-Frontend-Test:
<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 (Aufrufort):
<?php require_once('mysocket.php'); $con = Connector::getInstance(); $req = $_GET['cmd']; $con->sendMsg($req); $ret = $con->getMsg(); echo $ret; ?>
Anwendungsbeschreibung:
Der Client initiiert eine Ajax-Anfrage, um PHP aufzurufen, und dann initiiert PHP mit Hilfe von Socket eine weitere Anfrage an das C++-Modul .
Das obige ist der detaillierte Inhalt vonBeispiele zur Erläuterung der Definition und Verwendung von PHP-Socket-Netzwerkbetriebsklassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!