浅析PHP Socket技术_PHP教程

企鹅博客
19266
文章
0
评论
2019年7月14日14:32:50 评论 1.1K views 901字阅读3分0秒

phpsocketSocket位于TCP/IP协议的传输控制协议,提供客户-服务器模式的异步通信,即客户向服务器发出服务请求,服务器接收到请求后,提供相应的反馈或服务!我练习了一个最基本的例子:

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

复制代码 代码如下:

$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);

?>

继续阅读
  • 版权声明: 发表于 2019年7月14日14:32:50
  • 转载注明:https://www.qieseo.com/309330.html
开发大型PHP项目的方法_PHP教程 php教程

开发大型PHP项目的方法_PHP教程

开发大型PHP项目的方法 这里介绍了在PHP中的面向对象编程(OOP,Object Oriented Programming)。将向你演示如何通过使用一些OOP的概念和PHP的技巧来减少编码和提高质量...
php实现base64图片上传方式 php教程

php实现base64图片上传方式

本例子中没有采用File Post上传文件方式!原理一样,为了更加的理解base64 选择将其输出在文本域中,并提交至服务器!运用到项目中建议采用提交File方式。 html代码 <!DOCTY...
php随机数 微信随机生成红包金额算法php版 php教程

php随机数 微信随机生成红包金额算法php版

最近在研究发红包的功能,于是写了个红包的生成算法。 红包生成算法的需求预先生成所有的红包还是一个请求随机生成一个红包简单来说,就是把一个大整数m分解(直接以“分为单位,如1元即100)分解成n个小整数...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: