浅析PHP Socket技术
2015-01-24信息快讯网
使用并发起一个阻塞式(block)连接,即服务器如果不返回数据流,则一直保持连接状态,一旦有数据流传入,取得内容后就立即断开连接
phpsocketSocket位于TCP/IP协议的传输控制协议,提供客户-服务器模式的异步通信,即客户向服务器发出服务请求,服务器接收到请求后,提供相应的反馈或服务!我练习了一个最基本的例子:
使用并发起一个阻塞式(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 setcookie函数的参数说明及其用法
php sybase_fetch_array使用方法
PHP检测移动设备类mobile detection使用实例
php实现telnet功能示例
php使用json_encode对变量json编码
php5.2 Json不能正确处理中文、GB编码的解决方法
PHP fopen()和 file_get_contents()应用与差异介绍
php使用websocket示例详解
php判断是否为json格式的方法
PHP json_decode函数详细解析
使用swoole扩展php websocket示例
php fsockopen解决办法 php实现多线程
使用PHP Socket写的POP3类
php另类上传图片的方法(PHP用Socket上传图片)
php实现查询百度google收录情况(示例代码)
php中如何防止表单的重复提交
解析PHP中的unset究竟会不会释放内存
深入解析fsockopen与pfsockopen的区别
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
php修改NetBeans默认字体的大小
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
file_get_contents("php://input", "r")实例介绍
解析PHP中empty is_null和isset的测试
解析PHP 使用curl提交json格式数据
使用PHP接收POST数据,解析json数据
php 备份数据库代码(生成word,excel,json,xml,sql)
解析:通过php socket并借助telnet实现简单的聊天程序
php fsockopen伪造post与get方法的详解
基于PHP Socket配置以及实例的详细介绍
深入php socket的讲解与实例分析