`
baiyuxiong
  • 浏览: 177975 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

php长连接测试

    博客分类:
  • php
阅读更多

<?php
//http://i3.sinaimg.cn/home/07index/sinahome_wscfy_031.gif
//$url=http://10.69.2.206:8080/sms/ns2/save_msg.txt

function ohttp_get($host,$port,$query,&$body)
{
	$fp=pfsockopen($host,$port,$errno,$errstr,1);
	if(!$fp)
	{
		var_dump($errno,$errstr);
		return -1;
	}
	$out = "GET /home/07index/sinahome_wscfy_031.gif HTTP/1.1\r\n";
	$out.= "Host: ${host}\r\n";
	$out.= "Connection: close\r\n";
	$out.= "\r\n";
	fwrite($fp,$out);
	
	$line=trim(fgets($fp));
	$header.=$line;
	list($proto,$rcode,$result)=explode(" ",$line);
	$len=-1;
	
	while( ($line=trim(fgets($fp))) != "" )
	{
		$header.=$line;
		if(strstr($line,"Content-Length:"))
		{
			list($cl,$len)=explode(" ",$line);
		}
		if(strstr($line,"Connection: close"))
		{
			$close=true;
		}
	}
	if($len < 0)
	{
		echo "ohttp_get must cope with Content-Length header!\n";
		return -1;
	}
	$body=fread($fp,$len);
	if($close)
		fclose($fp);
	return $rcode;
}
function phttp_get($host,$port,$query,&$body)
{
	$fp=pfsockopen($host,$port,$errno,$errstr,1);
	if(!$fp)
	{
		var_dump($errno,$errstr);
		return -1;
	}
	$out = "GET /home/07index/sinahome_wscfy_031.gif HTTP/1.1\r\n";
	$out.= "Host: ${host}\r\n";
	$out.= "Connection: Keep-Alive\r\n";
	$out.= "\r\n";
	fwrite($fp,$out);
	$line=trim(fgets($fp));
	$header.=$line;
	list($proto,$rcode,$result)=explode(" ",$line);
	$len=-1;
	
	while( ($line=trim(fgets($fp))) != "" )
		{
			$header.=$line;
			if(strstr($line,"Content-Length:"))
			{
				list($cl,$len)=explode(" ",$line);
			}
			if(strstr($line,"Connection: close"))
			{
				$close=true;
			}
		}
	if($len < 0)
	{
		echo "phttp_get must cope with Content-Length header!\n";
		return -1;
	}
	$body=fread($fp,$len);
	if($close)
		fclose($fp);
	return $rcode;
}

$time1=microtime(true);
for($i=0;$i<100;$i++)
{
	$host="i3.sinaimg.cn";
	$port=80;
	$query="/sms/ns2/save_msg.txt";
	$body="";
	$r=phttp_get($host,$port,$query,$body);
	if($r != 200)
	{
		echo "return code : $r\n";
	}
}
$time2=microtime(true);
for($i=0;$i<100;$i++)
{
	$host="i3.sinaimg.cn";
	$port=80;
	$query="/sms/ns2/save_msg.txt";
	$body="";
	$r=ohttp_get($host,$port,$query,$body);
	if($r != 200)
	{
		echo "return code : $r\n";
	}
}
$time3=microtime(true);

echo "<br />";echo "<hr>";
echo "Time1:".$time1;echo "<br />";
echo "Time2:".$time2;echo "<br />";
echo "Time3:".$time3;echo "<br />";
echo "<br />";echo "<hr>";
echo "keep alive: ".($time2-$time1)."\n";
echo "close: ".($time3-$time2)."\n";

?>
分享到:
评论

相关推荐

    SMTP邮箱连接测试工具

    SMTP邮箱连接测试工具,用于SMTP测试邮箱是否正常

    CentOS LAMP环境搭建和测试php与mysql的连接

    本文将详细介绍如何在CentOS系统上搭建LAMP环境,并测试PHP与MySQL的连接。 首先,我们要确保安装的是纯净的CentOS系统,避免预装的不必要的组件。在安装过程中,不选择Web服务器选项,因为后续我们会手动进行编译...

    使用php连接hive

    标题“使用PHP连接Hive”涉及的技术点主要是如何在PHP编程环境中通过特定的库和工具与Hadoop Hive数据仓库系统进行交互。Hive是Apache Hadoop项目的一部分,它提供了SQL-like查询语言(HQL)来处理存储在Hadoop...

    php连接oracle数据库的方法(测试成功)

    以下是关于PHP连接Oracle数据库的关键知识点。 首先,PHP连接Oracle数据库有两种主要的函数集可供使用:ORA函数和OCI函数。ORA函数是较早的函数集合,而OCI函数是Oracle的Call Interface,它提供了更新、更全面的...

    php连接Oracle的配置详解及测试代码

    接下来,让我们看一个简单的PHP连接Oracle数据库的示例代码: ```php &lt;?php $connection = oci_connect("username", "password", "localhost/service_name"); if (!$connection) { $e = oci_error(); echo "无法...

    本地连接测试

    本地连接测试 在本地开发网站程序时,我们通常使用 DNS 数据源的方式进行数据库与网页建立连接,但是这种连接方式在上传到远程服务器时将无法成功,因为远端服务器未设置数据源。为了解决这个问题,我们可以使用...

    PHP 测试环境-最好用的本地PHP测试环境

    标签“php 本地环境”强调了这个测试环境是在个人计算机上建立的,这使得开发者可以随时随地进行PHP代码的编写和测试,而不受网络连接的影响。“php测试环境”进一步明确了这是一个专为测试PHP代码设计的平台。“PHP...

    php服务器测试工具

    对于PHP服务器,我们关注的是PHP解释器的性能,数据库连接效率,以及代码执行效率。 在Linux环境下,常用的PHP服务器性能测试工具有ab(ApacheBench)、Siege、JMeter等。ab是Apache HTTP服务器自带的命令行工具,...

    php本地在线测试

    8. **数据库连接**:如果`run.php`涉及到数据库操作,还需要掌握如何使用PHP连接和操作MySQL或其他数据库,例如使用PDO或mysqli扩展。 9. **MVC模式**:如果项目采用Model-View-Controller(MVC)架构,了解这一...

    php连接sqlsever数据库配置方法

    总的来说,配置PHP连接SQL Server数据库涉及安装必要的扩展,修改配置文件,以及编写连接测试脚本。这个过程可能需要对网络配置和数据库安全有一定的了解,但遵循上述步骤,一般可以顺利完成连接。如果你在执行过程...

    PHP安装连接SQLSERVER扩展方法

    #### 背景与目的 ...其中,Microsoft SQL Server作为一款功能强大的关系型数据库管理系统,在企业和组织中被...通过以上步骤,我们就可以成功地让PHP连接并操作SQL Server数据库,从而实现更加高效和灵活的数据管理。

    PHP连接SQLServer代码

    本文将详细探讨如何使用PHP连接SQL Server,以及相关的核心代码和探针。 首先,为了连接SQL Server,PHP需要一个扩展,通常使用的是`mssql`或`sqlsrv`。`mssql`扩展适用于旧版本的SQL Server,而`sqlsrv`则是微软为...

    PHP网络速度测试(含源码)

    标题中的“PHP网络速度测试”指的是使用PHP编程语言开发的一种应用程序,它能够测量终端设备(如手机或平板电脑)与服务器之间的上传和下载速度。这种功能对于评估用户网络环境的质量和优化网站性能至关重要。 描述...

    php的单元测试文档

    同时,也介绍了PHPUnit数据库测试用例的配置、如何实现自定义的数据库连接和数据集。 测试替身部分讲解了如何创建桩件(Stubs)和仿件对象(MockObjects),包括Prophecy框架的使用,以及如何对特质、抽象类、Web...

    Linux Php连接SQLServer数据库

    使用 tsql 工具进行连接测试: ```bash ./tsql -S Server2005 -p 1433 -U java -P java -D PublicDB ``` 其中 `-S` 指定服务器名称,`-p` 指定端口号,`-U` 和 `-P` 分别指定用户名和密码,`-D` 指定默认数据库...

    php写的人品测试器

    标题中的“php写的人品测试器”指的是一个使用PHP编程语言开发的应用程序,其功能是进行某种形式的随机或基于算法的人格特质评估,通常这种评估被称为“人品测试”或者“RP(Randomness or Role-Playing)测试”。...

    php连接hive thrift的lib依赖包

    标题“php连接hive thrift的lib依赖包”指的是在PHP环境中,为了实现与Hive的Thrift服务器通信,我们需要特定的库(lib)文件。在描述中提到的问题是,使用Hive压缩包自带的PHP库进行连接时,测试未能成功。这可能是...

    PHP (PDO)连接oracle数据库

    提供的压缩包文件“PHP(PDO)连接Oracle数据库”可能包含了安装和配置PDO_OCI所需的动态库,以及一个实际的测试脚本,帮助开发者快速建立和测试PHP与Oracle的连接。确保按照文档指示正确配置和使用这些资源,可以避免...

Global site tag (gtag.js) - Google Analytics