Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 套接字连接的性能会优于嵌入式数据库扫描和请求吗?_Php_Mysql_Ajax - Fatal编程技术网

Php 套接字连接的性能会优于嵌入式数据库扫描和请求吗?

Php 套接字连接的性能会优于嵌入式数据库扫描和请求吗?,php,mysql,ajax,Php,Mysql,Ajax,我正在构建一个小型聊天应用程序,以添加到现有框架中。一次最多只能有20-50个用户 我想知道我是否可以通过对新数据执行定时查询和定期AJAX刷新,而不是学习如何打开和维护套接字连接,来更新一个包含(半)实时聊天数据的缓存文件(无论哪个用户碰巧在聊天) 我肯定有现成的聊天插件,但我刚刚花了很长时间安装了一个,我可以看到构建整个该死的东西所花的时间和插入一个插件所花的时间一样多 我的开始不好吗? 提前谢谢-J (顺便说一句,这是一个php登录背后的半封闭网络,因此安全性不是一个大问题)首先,我建议阅

我正在构建一个小型聊天应用程序,以添加到现有框架中。一次最多只能有20-50个用户

我想知道我是否可以通过对新数据执行定时查询和定期AJAX刷新,而不是学习如何打开和维护套接字连接,来更新一个包含(半)实时聊天数据的缓存文件(无论哪个用户碰巧在聊天)

我肯定有现成的聊天插件,但我刚刚花了很长时间安装了一个,我可以看到构建整个该死的东西所花的时间和插入一个插件所花的时间一样多

我的开始不好吗?

提前谢谢-J


(顺便说一句,这是一个php登录背后的半封闭网络,因此安全性不是一个大问题)

首先,我建议阅读JavaScript以即时检索数据

至于收集和分发数据,我建议您使用支持
LISTEN
NOTIFY
的数据库。(例如,Postgres在PHP中为您提供

通过长轮询和Postgres等支持通知的数据库,您可以轻松构建实时、可扩展的聊天应用程序

其他资源和链接:


我认为长轮询是一种很好的方法。然而,理解它并正确地执行它,远比只在间隔中轮询要困难得多。对于20-50个用户,可伸缩性应该不是问题。对于良好的长轮询设计,您应该了解如何避免在http请求的生命周期内挂起服务器线程

明智的做法是从简单的轮询方法开始,然后再进行长轮询