浅析PHP Socket技术

2019-11-03 16:00:12来源:爱站网 阅读 ()

新老客户大回馈,云服务器低至5折

PHP Socket可以提供服务器模式的异步通信,通俗点说就是客户向服务器发送服务请求,下面就让爱站技术频道小编为大家带来浅析PHP Socket技术,希望对你学习这方面知识有所帮助。

我练习了一个最基本的例子:

使用并发起一个阻塞式(block)连接,即服务器如果不返回数据流,则一直保持连接状态,一旦有数据流传入,取得内容后就立即断开连接。代码如下:

复制代码 代码如下:

<?php
$host = www.sohu.com; //这个地址随便,用新浪的也行,主要是测试用,哪个无所谓
$page = "/index.html";
$port = 80;
$request = "GET $page HTTP/1.1\r\n";
$request .= "Host: $host\r\n";
//$request .= "Referer:$host\r\n";
$request .= "Connection: close\r\n\r\n";
//允许连接的超时时间为1.5秒
$connectionTimeout = 1.5;
//允许远程服务器2秒钟内完成回应
$responseTimeout = 2;
//建立一个socket连接
$fp = fsockopen($host, $port, $errno, $errstr, $connectionTimeout);
if (!$fp) {
??? throw new Exception("Connection to $hostfailed:$errstr");
} else {
??? stream_set_blocking($fp, true);
??? stream_set_timeout($fp, $responseTimeout);
}
//发送请求字符串
fwrite($fp, $request);
//取得返回的数据流内容
$content = stream_get_contents($fp);
echo $content;
$meta = stream_get_meta_data($fp);
if ($meta['timed_out']) {
??? throw new Exception("Responsefrom web services server timed out.");
}
//关闭Socket连接
fclose($fp);
?>

本文是爱站技术频道小编为大家带来关于浅析PHP Socket技术介绍,大家了解的如何了?我们都要在实践中操作才能不断进步哦。


原文链接:https://js.aizhan.com/develop/php/9889.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:PHP中判断变量为空的几种方法

下一篇:提高PHP性能的编码技巧及性能优化