问题标签 [persistent-connection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHPUnit 复用 PDO 连接
我已经研究了几个小时,但我找不到在多个单元测试中回收单个 PDO 连接(MySQL)的方法。有这样的动物吗?
似乎我应该在引导程序中以某种方式声明它,但 PDO 连接无法序列化,因此测试中断。
我想在很多表中针对模式测试数据集,所以我不想每次都在数据库中建立新连接。
push-notification - 持久的 tcp/ip 连接如何节省电池电量和降低带宽使用量?
在推送通知机制中,例如 Apple 的推送通知服务,它们使用持久 IP 连接。
我的问题是,使用持久连接如何节省设备的电池和带宽?我的印象是,由于连接是持久的,因此设备始终使用 WiFi 或 3G/LTE 无线电。
我知道通过持久连接,您不会因为没有更改时不向服务器询问更改而浪费带宽,而是服务器会“推送”这些更改给您。但是,我看不出这如何节省电池和带宽(因为您与服务器的连接始终在线)。
可以在此处找到类似的问题:
Android C2DM 如何提高带宽使用率?
但我认为答案还不够。
java - Java SSLSocket 不会保持活动状态(需要 HTTPS 持久连接)
我已经使用 java Sockets 编写了一个客户端-服务器程序,它工作得很好。现在我正在尝试使用 HTTPS 在客户端和服务器之间进行通信。
我的代码基于 java 内置套接字(Socket 和 ServerSocket),它工作得很好。但是,当我在不更改其余代码的情况下使用 HTTPS 套接字(SSLSocket和SSLServerSocket)时,不幸的是将不再工作。
该程序需要服务器和客户端之间的持久连接才能让它们在几分钟内发送和接收数据。问题似乎是在第一个事务完成后,HTTPS 连接已在服务器或客户端关闭。
更准确地说,会发生以下情况:
1. 服务器创建一个 SSLServerSocket 并在其上调用“accept()”。
2. 客户端创建一个 SSLSocket 并连接到服务器。然后通过“DataOutputStream”写入服务器
3. 服务器通过“DataInputStream”读取客户端并通过“DataOutputStream”发回响应。
4、客户端通过“DataInputStream”读取服务器。
到目前为止一切正常!但是在那之后,当客户端发送另一个流时,在服务器端,通过之前使用的相同方法,服务器端将没有数据“可用()”。
有没有办法让这种联系保持活力?
Tnx 为您提前提供帮助!
mysql - PHP NGINX PHP-FPM,需要/可能的分叉?
我正在使用包括 PHP (5.5)、NGINX (1.1.19) 和 PHP-FPM 的设置,以 MySQL (5.5.34) 作为数据库,以及许多许多存储过程。
我不想深入探讨我使用存储过程的原因,但据我所知,与它们一起使用持久连接是一个好习惯,因为它们会随每个连接一起加载,从而减慢速度(这仍然是真的?)。
现在,据我所知,要建立持久连接,我需要一些子进程,但是 PHP-FPM 是否有必要/可能?我已经阅读了有关此的混合内容,但我并不完全确定。
基本上,主要问题是:当使用提到的安装程序(PHP-FPM、NGINX、MySQL)时,使用/处理与 MySQL 的持久连接的最佳方式是什么?可能吗?如果没有,有什么可能的解决方法?
提前致谢!
ios - 异步 NSURLConnection 和保持活动状态
我正在使用 NSURLConnection 对同一主机异步执行一系列 HTTP 请求,即使用[initWithRequest:delegate:startImmediately:]
和委托。
当connectionDidFinishLoading
通知到达委托时,我释放我的连接对象,然后初始化并启动另一个到同一主机。问题 - 底层套接字会被重用吗?服务器标头在Connection:keep-alive
那里,但我无法确保它受到尊重。我的意思是,第一次连接在发出通知时还没有正式“完成”。或者是吗?
编辑:Mac 上的数据包嗅探。PacketLogger 随硬件工具一起提供。
EDIT2:看起来它没有捕获 iOS 模拟器的活动。
php - PHP 命令行持久连接
我有一个 PHP 脚本,它通过浏览器调用的 Apache 完美运行,但在命令行上调用的相同代码似乎在每次调用后都会断开数据库连接。
因此,例如在包含的文件中,我有:
然后在我的脚本中我有:
哪个工作正常,但是之后我有:
哪个不返回:
现在,如果我添加一个新连接,即在第二个调用上方的包含文件中复制并粘贴一个,则一切正常,即:
我的第一个问题是为什么 PHP 不会在脚本期间保持连接打开?
那么我的第二个问题。作为测试,我在所有通过 PDO 调用数据库之前完成并添加了连接。在这个脚本中,我实际上连接到两个不同的服务器,因此我定义了另一个连接,如下所示:
所以当然要尝试让事情正常工作,我在对本地数据库的任何调用上方添加了这一行。但是,使用此代码:
我在第一次绑定时遇到同样的错误。
我想这是同样的问题,因为要执行的第一条语句是 beginTransaction ,然后 PDO 连接关闭。
如前所述,这一切都可以通过 Apache 正常工作。
感谢所有帮助。
java - 如何使用 xmemcached 或 spymemcached 与 memcached 服务器建立持久连接
我们如何使用 xmemcached 或 spymemcached 使用与 memcached 服务器的持久连接?我目前正在使用 xmemcached。
使用此代码,我尝试创建连接池,并使用 ss 命令查看正在建立的连接。但是,我可以看到当程序终止连接时进入时间等待状态,下次运行它时,会创建更多连接。所以这是行不通的。我错过了什么?或者在这种情况下可以做什么?请帮忙
database - 持久的数据库连接
我正在用java制作一个将在嵌入式设备上运行的小程序。它的目的是将一些值(比如说温度)存储在位于云中的数据库中。
- 场景 1:每个可能的周期都存储数据(connect-store-store-store...-disconnect)
- 场景 2:数据每 5 分钟存储一次(connect-store-wait-store-wait...-disconnect)
- 场景 3:每小时存储一次数据
保持与数据库的持续连接还是仅在需要时才连接更好?为什么?
如果部署 100 个这样的设备会发生什么(一个永远无法拥有足够的温度数据)?
php - 具有可重用连接池的 PDO
我创建了一个扩展标准 PDO类 ( ) 的类(称为DBPDO
),以便拥有 PDO 附带的所有方法和属性,并增加对查询的更多控制(即开发时的分析等... ) 以及允许在编码查询时加快工作的方法。class DBPDO extends PDO {}
我想改进这门课。我正在考虑在整个网站上创建的所有连接,其中大多数都是在不同范围内创建以执行独立查询。所以我想知道:为什么我必须创建 ie. 我的应用程序的 5 个不同方法/类/函数上的 5 个连接,什么时候可以在所有这些上使用相同的连接?
我不想使用持久连接(例如阅读在 PDO 中使用持久连接的缺点是什么)。
我只想有一个类——当实例化时——给我一个已经活跃的连接(如果存在),或者给我一个新的连接。
但是,有一个问题。如果我必须访问查询的结果并在每个结果处执行另一个查询怎么办?我必然需要两个不同的连接。因此,如果我想要一个全新的连接还是旧的连接,我需要告诉这个新班级。
我正在考虑编写一个PDOConn
带有静态方法getConnection($forceNew = false) {}
和静态私有属性的新类$Connections = array()
。
当我需要连接时,我会写:
PDOConn 将查看是否$Connections
已经包含至少一个连接(以我已经工作的DBPDO
类的实例的形式)并返回该对象。如果$Connections
为空,它将创建一个新对象(的实例DBPDO
),将该对象添加到$Connections
并返回它。
如果我想强制创建一个新连接,我会写:
因此它将创建一个新连接并将其添加到$Connections
. 当在getConnection
不强制创建新的情况下再次调用时,PDOConn
将返回第一个创建的连接(或者可能是最后一个?)。
问题
你认为这是一个好方法,一个好主意吗?你有更好的建议吗?最重要的是:您是否认为我在课堂功能中没有考虑PDOConn
到可能会导致我现在无法解决的问题?你认为写这样的类值得管理 PDO 连接吗?我的意思是,我开始这个线程是因为我想在不需要创建新连接时重用连接:这是否值得/相关,或者我可以继续创建我想要的连接数量,没关系?
谢谢你。