返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php中长连接和短连接的区别是什么
  • 470
分享到

php中长连接和短连接的区别是什么

php长连接短连接 2015-11-05 12:11:23 470人浏览
摘要

php中长连接和短连接的区别:1、短连接是指SOCKET连接后,发送接收完数据后马上断开连接;而长连接是指建立SOCKET连接后,不管是否使用都保持连接,直到一方关闭连接为止。2、与短连接相比,长连接的安全性较差。

教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

短连接

连接->传输数据->关闭连接

比如Http是无状态的的短链接,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。

具体就是 浏览器client发起并建立tcp连接 -> client发送HttpRequest报文 -> server接收到报文->server handle并发送HttpResponse报文给前端,发送完毕之后立即调用Socket.close方法->client接收response报文->client最终会收到server端断开TCP连接的信号->client 端断开TCP连接,具体就是调用close方法。

也可以这样说:短连接是指SOCKET连接后,发送接收完数据后马上断开连接。

因为连接后接收了数据就断开了,所以每次数据接受处理不会有联系。 这也是HTTP协议无状态的原因之一。

长连接

连接->传输数据->保持连接 -> 传输数据-> ...........->直到一方关闭连接,多是客户端关闭连接。

长连接指建立SOCKET连接后不管是否使用都保持连接,但安全性较差。

每次我们访问php脚本的时候,都是当所有的PHP脚本执行完成后,我们才得到返回结果。如果我们需要一个脚本持续的运行,那么我们就要通过php长连接的方式,来达到运行目的。

一般php环境为apache+php+linux,但是由于apache对php连接都有时间限制,一般超过这个连接时间apache服务器会自动断掉连接。

这种情况下比较简单方便的方式就是在php页面中设置set_time_limit(0)(当然也可以在php.ini配置文件中设置,但是这样对整个环境产生影响,毕竟我们并不想对所有连接都可以长时间连接,影响服务性能)

每个PHP脚本都限制了执行时间,所以我们需要通过 set_time_limit 来设置一个脚本的执行时间为无限长,然后使用 flush() 和 ob_flush() 来清除服务器缓冲区,随时输出脚本的返回值。

<?php
header("Content-Type: text/plain");
set_time_limit(0);
while (true) {// 持续执行的脚本  flush();
	ob_flush();
	sleep(5);
}
?>

当我们执行后,每隔5秒钟,我们会执行一次,通过这一方法,我们可以完成很多功能,例如后台监控程序,定时执行功能,日志分析,数据整理等耗时的操作。

--结束END--

本文标题: php中长连接和短连接的区别是什么

本文链接: https://www.lsjlt.com/news/269.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mysql全连接和oracle全连接查询的区别是什么
    本篇内容介绍了“mysql全连接和oracle全连接查询的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!mysql全连接和orac ...
    795
    2023-03-22
    mysql oracle
  • 如何理解HTTP的长连接和短连接
    这篇文章主要讲解了“如何理解HTTP的长连接和短连接”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解HTTP的长连接和短连接”吧!HTTP长连接和短连接1.HTTP协议与TCP/IP协 ...
    602
    2023-03-22
    http
  • 内连接和外连接的区别
    SQL数据库的连接:内连接、和外连接(左外连接、右外连接、和全连接)本次实验在MySQL数据库中进行,数据库初始表如下一、内连接:结果仅包含符合连接条件的两表中的行。如下二、外连接:结果包含符合条件的行,同时包含不符合条件的行(分为左外 ...
    744
    2023-03-22
    内连接和外连接的区别 外连
  • php === 和==的区别是什么
    php ===和==的区别:1、在PHP中===表示全等运算符,而==表示等于运算符;2、如果等于运算符两边的值相等,则返回true,而如果全等运算符两边的值相等但类型不等,则返回false。 ...
    629
    2023-03-22
    php
  • mysql内连接和外连接有哪些区别
    这篇文章主要介绍“mysql内连接和外连接有哪些区别”,在日常操作中,相信很多人在mysql内连接和外连接有哪些区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql内连接和外连接有哪些区别”的疑惑有所 ...
    340
    2023-03-22
    mysql
  • mysql全连接和oracle全连接查询、区别及说明
    目录mysql全连接和oracle全连接查询区别oracle中的全连接问题总结mysql全连接和oracle全连接查询区别oracle的全连接查询可以直接用full on,但是在mysql中没有full join,mysql使用union ...
    377
    2023-03-22
    mysql全连接 oracle全连接 mysql全连接查询 mysql全连接查询
  • php和java区别是什么
    php和java区别:1.java是一种静态编程语言,而php是动态的。2.php适合于快速开发,中小型应用系统,而java适合于开发大型的应用系统。3.Java通过JDBC来访问数据库,访问数据库的接口比较统一,而php对于不同的数据库采 ...
    233
    2023-03-22
    Java PHP
  • php跟css的区别是什么
    php和css的区别:1、PHP属于服务器语言,而css属于客户端语言;2、php是用来处理逻辑层的,而css是用来做网页的表现层的;3、php可以动态生成网页,而css需要配合各种语言动态的对网页元素进行格式化。 ...
    707
    2023-03-22
    PHP&&css
  • php与ruby的区别是什么
    php与ruby的区别:1、ruby中函数的调用可以把括号省略,而PHP中不能把括号省略;2、ruby中提供proc、block,而PHP中没有提供;3、ruby中没有接口,也没有抽象类,而PHP中有接口,也有抽象类。 ...
    818
    2023-03-22
    php
  • web与php的区别是什么
    web与php的区别:1、php主要用于后端处理数据和操作数据增删改查,而web前端用于把界面和数据显示给用户;2、php在服务器运行和解释,web前端主要用浏览器解决;3、php要考虑效率和安全性,web前端则要更注重可操作性和美观。 ...
    949
    2023-03-22
    PHP
  • wordpress与PHP的区别是什么
    wordpress与PHP的区别:PHP是一门在服务器端执行的脚本语言,一种编程语言;而WordPress是一款个人博客系统,是使用PHP语言开发的博客平台,功能都是现成的直接使用。 ...
    896
    2023-03-22
    wordpress PHP
  • php与vb的区别是什么
    php与vb的区别:1、PHP即超文本预处理器,是网页的代码语言,在服务器端执行的脚本语言,常用于编写网页;2、VB是Microsoft公司开发的一种通用的基于对象的程序设计语言,常用于做应用程序。 ...
    565
    2023-03-22
    PHP
  • vuejs和php的区别是什么
    这篇文章将为大家详细讲解有关vuejs和php的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。vuejs和php的区别:1、Vue是一套JavaScript框架;而PHP是一种脚本 ...
    447
    2023-03-22
    vuejs php
  • 理解oracle的共享连接和专用连接
    专用连接模式下,客户端连接只支持专用连接;共享连接模式下,既可以使用专用连接模式,又可以使用共享连接模式;专用连接模式:一个客户端连接对应一个服务器进程,一对一;共享连接模式:多个客户端连接对应一个服务器进程,服务器端存在一个进程调度器(d ...
    340
    2023-03-22
    oracle 共享连接
  • linux中的软连接和硬连接详解
    目录1、文件和目录的基本存储2、In命令介绍(1)我们来看看ln命令的基本信息命令名称:(2)ln命令的基本格式3、创建硬链接(1)如何创建硬链接(2)硬链接特征(3)硬连接原理4、创建软链接(1)如何创建软链接(2)软链接特征(3)软连接 ...
    785
    2023-03-22
    linux软连接介绍 linux硬连接介绍
  • php false跟0的区别是什么
    php false跟0的区别:1、false是boolean值,而0是数值0;2、在PHP中false是以值为0存储的,但是false和0的类型不一样。 ...
    522
    2023-03-22
    php false 0
  • php形参和实参的区别是什么
    区别:1、形参是定义函数时函数名后面括号内的若干个参数,实参是调用函数时函数名后面括号中的若干个参数;2、形参是不具有实际意义的参数,而实参是具有实际数据意义的参数。 ...
    894
    2023-03-22
    php 形参 实参
  • php打印输出的区别是什么
    区别:1、print()在打印的时候,只能打印一个变量,而echo可以打印多个变量;2、“print_r()”会将数组或者对象进行格式化后并打印出来,而“var_dump()”不仅会格式化数组或对象,而且会将类型显示出来。 ...
    562
    2023-03-22
    php
  • sql连接查询语句中on、where筛选的区别是什么
    这篇文章将为大家详细讲解有关sql连接查询语句中on、where筛选的区别是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。来看一个示例,有两张数据表,结构和数据如图所示表main表ext可以把这两张表 ...
    964
    2023-03-22
    sql on where
  • MySQL中怎么实现左连接和右连接
    今天就跟大家聊聊有关MySQL中怎么实现左连接和右连接,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。以MySql为例。在MySQL数据库中建立两张数据表,并分别插入一些数据。示例脚本 ...
    145
    2023-03-22
    mysql
热门问答
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作