相关疑难解决方法(0)

使用servlet或jsp获取数据库更新

我想要的是获取数据库更新.

即如果数据库发生任何更改或插入新记录,它应通知用户.

直到知道我实现的是使用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作为服务器.

java jsp servlets comet long-polling

5
推荐指数
1
解决办法
1449
查看次数

服务器发送的事件轮询导致长时间延迟

我有一个连接器,它将使用 cURL 和 PHP 调用 RESP API。

我需要每秒调用一个方法来检查新消息,然后处理它们。我使用以下两种方法来处理消息

  1. AJAX 轮询使用SetInterval():每秒调用一次 php 脚本。这工作得很好,除了我无法阻止多个SetInterval()浏览器的不同选项卡同时运行。(我不想让用户打开 10 个浏览器选项卡,这会导致一个用户SetInterval()同时运行 10 个浏览器选项卡。
  2. 服务器发送事件使用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)

javascript php jquery server-sent-events icws

5
推荐指数
1
解决办法
1629
查看次数

无法加载资源:服务器响应状态为 504(网关超时)

我正在使用 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 还是使用它?

我尝试提供有关我的问题的所有信息,如果有任何进一步的说明,请告诉我。

javascript django ajax http-status-code-504

5
推荐指数
1
解决办法
3万
查看次数

后端-前端双向通信

我们目前有一个 django 应用程序,通过 Apache 为用户提供我们的前端网站。前端查询我们的后端,这是一个单独的 Python 应用程序 (Flask),服务于不同的服务器。到目前为止,前端需要向后端查询数据,但反之则不然。

我们现在推出数据警报,用户可以选择接收有关系统中数据更改的数据警报。检查警报是否发生的过程必须发生在后端,因为它与数据模型紧密耦合。因此,前端发送请求以在后端添加警报,然后后端将轮询并检查触发器是否已发生。

问题是,一旦后端触发警报,前端就需要收到通知,以便用户也收到通知。后端无法直接向用户发出警报,因为它不知道电子邮件等用户数据(该用户数据可能会发生变化,因此将其与添加警报的请求一起发送到后端过于简单)。

因此,我们正在寻找将警报通知从后端推送到前端的最佳方法。我们这样做的最佳方法是什么?我们可以在 django 应用程序上设置一个后端可以查询的视图,但我不喜欢前端查询后端的想法以及相反的方式。实现这一目标的最佳选择是什么?

frontend rpc backend

2
推荐指数
1
解决办法
5837
查看次数

为什么 Chrome 不在其网络工具中显示传出流量?

我在Whatsapp上发送消息,当我打开 Chrome 的开发人员工具并进入 Network 时,我的传出消息不会产生任何流量。相反,传入的消息会。

这怎么可能?Chrome 的网络工具不应该显示所有传入/传出流量吗?

google-chrome web

2
推荐指数
1
解决办法
1851
查看次数

Facebook,Gmail,LinkedIn等网站和移动应用程序如何协同工作?

基本上,我是专业的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

-4
推荐指数
1
解决办法
1095
查看次数