我想要的是获取数据库更新.
即如果数据库发生任何更改或插入新记录,它应通知用户.
直到知道我实现的是使用jQuery,如下所示
$(document).ready(function() {
var updateInterval = setInterval(function() {
$('#chat').load('Db.jsp?elect=<%=emesg%>');
},1000);
});
Run Code Online (Sandbox Code Playgroud)
它对我来说很好,但我的老师告诉我,推荐使用彗星或长轮询技术不是一个好方法.
任何人都可以给我一些使用servlet/jsp中的comet或long轮询获取数据库更新的示例吗?我正在使用Tomcat作为服务器.
我有一个连接器,它将使用 cURL 和 PHP 调用 RESP API。
我需要每秒调用一个方法来检查新消息,然后处理它们。我使用以下两种方法来处理消息
SetInterval():每秒调用一次 php 脚本。这工作得很好,除了我无法阻止多个SetInterval()浏览器的不同选项卡同时运行。(我不想让用户打开 10 个浏览器选项卡,这会导致一个用户SetInterval()同时运行 10 个浏览器选项卡。EventSource:一旦队列中有新数据,服务器将向浏览器发送更新。这会减慢响应时间。我对脚本的每次调用都需要大约 20 秒以上才能完成,这是一个问题。我不知道为什么会发生这种情况。这是我的SetInterval()实现
function startCalls(){
//update the screen using Intervals
refreshIntervalId = setInterval(function() {
$.getJSON("index.php", {'method': 'getMessages', 'jSON': true} , function(data){
processServerData(data);
});
}, 1000);
}
Run Code Online (Sandbox Code Playgroud)
一旦用户登录,我就会调用此函数startCalls()
在 index.php 文件内我有要调用的代码
if($method == 'getMessages'){
$messaging = new ICWS\Messaging($icws);
$messaging->processMessages();
$myQueue = $messaging->getCallsQueue();
echo json_encode($myQueue );
}
Run Code Online (Sandbox Code Playgroud)
这是我的第二个实现“服务器发送事件”
//Server Side Message Polling
function startPolling(evtSource){ …Run Code Online (Sandbox Code Playgroud) 我正在使用 django - python、javascript 开发一个项目。当我从视图中调用一个长时间运行的进程(耗时)大约超过 20 分钟时,该进程成功启动。我在ajax中使用加载程序来通知用户进程正在运行。该过程完成后,加载程序将停止并更改为已完成状态。
但问题是每次从进程启动 14.59 分钟后,加载程序就会停止并且状态更改为已完成。但后台运行的进程尚未完成。此后页面崩溃。过程完成后,我将结果绑定在网页中的标签下。在该标签中出现错误504(网关超时)。在 Web 控制台日志Failed to load resources: the server responds with a status of 504 (Gateway Timeout) 中,打印上述错误。如果有人知道请帮我解决这个问题。
django 在那之后会关闭连接吗?如果是这样,是否可以在 django 设置(settings.py)中提及超时。我尝试在 ajax 调用中设置超时,但返回了同样的问题。我的疑问是在 django 开发服务器上。django开发服务器是否存在超时问题?但是当我搜索这个问题时,我发现在nginx服务器中出现了相同类型的问题。django 是依赖 nginx 还是使用它?
我尝试提供有关我的问题的所有信息,如果有任何进一步的说明,请告诉我。
我们目前有一个 django 应用程序,通过 Apache 为用户提供我们的前端网站。前端查询我们的后端,这是一个单独的 Python 应用程序 (Flask),服务于不同的服务器。到目前为止,前端需要向后端查询数据,但反之则不然。
我们现在推出数据警报,用户可以选择接收有关系统中数据更改的数据警报。检查警报是否发生的过程必须发生在后端,因为它与数据模型紧密耦合。因此,前端发送请求以在后端添加警报,然后后端将轮询并检查触发器是否已发生。
问题是,一旦后端触发警报,前端就需要收到通知,以便用户也收到通知。后端无法直接向用户发出警报,因为它不知道电子邮件等用户数据(该用户数据可能会发生变化,因此将其与添加警报的请求一起发送到后端过于简单)。
因此,我们正在寻找将警报通知从后端推送到前端的最佳方法。我们这样做的最佳方法是什么?我们可以在 django 应用程序上设置一个后端可以查询的视图,但我不喜欢前端查询后端的想法以及相反的方式。实现这一目标的最佳选择是什么?
我在Whatsapp上发送消息,当我打开 Chrome 的开发人员工具并进入 Network 时,我的传出消息不会产生任何流量。相反,传入的消息会。
这怎么可能?Chrome 的网络工具不应该显示所有传入/传出流量吗?
基本上,我是专业的PHP开发人员.我只有使用PHP开发网站的经验.我没有创建移动应用程序的经验.
我的组织希望建立一个网站(使用PHP)以及移动应用程序(在Android和iOS中),为某些社区创建社交网络,这将完全类似于Facebook网站和Facebook应用程序的功能.
但是我没有从哪里开始?怎么开始?我应该遵循什么方法?如何利用PHP来完成所有这些工作?
我想知道Facebook网站和Facebook应用程序如何协同工作?我想知道这种现象是什么,系统架构,原理,设计模式,技术和其他东西背后都在起作用?
我在我的笔记本电脑上使用Facebook网站,在Android智能手机上使用Facebook 应用程序
每当我在Facebook上收到任何通知时,它几乎会在Facebook网站和Facebook应用程序上同时得到通知.
此外,每当我更新我的状态或做任何活动,如回复或评论帖子,添加组更新,添加事件更新等,从Facebook网站,它立即反映到Facebook应用程序,它发生在副 - a - 时尚.这也很顺利.
根据我的理解,Facebook网站和Facebook应用程序必须使用相同的数据库来存储和访问数据,但我仍然没有得到他们如何协同工作,因为Facebook网站和Facebook应用程序的代码库是完全不同的东西性质?此外,Facebook网站和Facebook应用程序的执行方式是两个完全不同的东西.
在Facebook应用程序已使用不同的技术(例如Android,iOS设备的Windows Phone,黑莓等)和内置的Facebook网站已经使用PHP和所有其他的东西,建但他们仍然在同步协同工作.
将不同技术相互同步工作背后的现象是什么?
而且我对各种网站和应用程序(如Gmail,LinkedIn等)都观察到同样的事情.他们是否也像Facebook一样处理同样的现象?
请指导我正确的方向.作为PHP开发人员,我对这个项目的方法应该是什么以及如何?
谢谢.
php facebook social-networking mobile-application facebook-apps