标签: server-push

如何使所有连接的浏览器重新加载由服务器端事件启动

假设有一个包含动态生成内容的网页 - 比如包含当前已连接浏览器数量的div.当计数在服务器上发生变化时,我希望所有连接的浏览器重新加载计数,以便每个人都能看到增量/减量.

实现这一目标的最佳方法是什么?

关键字:ajax,广播,浏览器,div,jquery

ajax push comet server-push push-notification

4
推荐指数
2
解决办法
2957
查看次数

Django服务器推送方法

我开发了一个Django应用程序,它需要服务器推送(或彗星)以进一步增强.我首先使用"orbited"成功实现了服务器推送,除了IE之外,它在所有主流浏览器中都运行良好(是的,我知道......这个IE再一次让我的生活变得糟透了).尽管IE的重要性已大大降低,但我仍然希望实现可在所有主要平台上运行的服务器推送.

我已经谷歌搜索了几天,这里有一些我找到的选项.

  1. 使用evserver(https://code.google.com/p/evserver/)
  2. 使用Django + Tornado框架

从长远来看,似乎使用Django + Tornado平台更为理想,但我无法找到一个很好的例子,我可以从中学习如何实现结合两个框架的服务器推送.我发现的唯一例子是

django-tornado-demo(https://github.com/bdarnell/django-tornado-demo/tree/master/testsite)

但是,我不确定这个项目是否处理服务器推送机制或其他方式,缺乏一些解释.

任何人都可以指导我将Django和Tornado结合在一起并实际实现服务器推送机制的演示项目的一个很好的例子吗?此外,我们将非常感谢有关此主题的任何信息.

非常感谢你提前.

django tornado server-push

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

EventSource永久自动重新连接

我在项目前端使用JavaScript EventSource.

有时,浏览器和服务器之间的连接失败或服务器崩溃.在这些情况下,EventSource会在3秒后尝试重新连接,如文档中所述.

但它只尝试一次.如果仍然没有连接,则EventSource将停止尝试重新连接,并且用户必须刷新浏览器窗口才能再次连接.

我怎么能防止这种行为?我需要EventSource尝试永远重新连接,而不仅仅是一次.

浏览器是Firefox.

javascript server-push server-sent-events

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

grails服务器推送

我一直在评估grails服务器推送技术,我一直在浏览grails氛围插件,但它似乎并没有积极开发.我也看过grails事件推送插件.是否有一个标准的插件用于grails中的服务器推送?它是一个还是另一个?

grails comet server-push atmosphere

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

网站远程控制

我想开始创建一个在手机(任何类型的智能手机)上打开的网站.该网站将具有控制您已在计算机上打开的网站的功能.(2011年的大众新世纪甲壳虫有这个功能,我可以在台式电脑上打开的网站上通过智能手机滚动)

我们有一个关于horsevideos的流媒体网站,如果他们可以通过智能电视观看流媒体并通过iphone/android/wp进行控制,这对我们的客户来说将是一个很棒的功能.

此外,来自瑞士的wilmaa.com为智能手机提供了一个遥控器,可以在我的智能电视/网络浏览器网站上导航.

因为我需要一个起点来了解它是如何工作的我正在检查谷歌,也许外面已经有任何遥控器,但不幸的是我找不到任何东西.

也许Stack Overflow可以帮助我提出一些如何实现这一点的起点.

server-push long-polling websocket

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

跨浏览器服务器发送的事件,或替代方案,包括Microsoft浏览器

根据我可以使用吗?,MS IE和Edge浏览器不支持服务器发送的事件.

有解决方法吗?

或者是一个完全交叉的浏览器替代方案,这很简单(webockets似乎不是(并且,无论如何,我更喜欢坚持使用HTTP而不会有多个同步协议使事情变得复杂))?

我希望AngularJs客户端能够订阅和取消订阅PHP服务器推送的JSON数据,多个客户端能够订阅相同的数据,只需要一个服务器操作就可以推送它,最好不知道推送它的对象.

server-push server-sent-events

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

为什么Golang http.ResponseWriter执行被延迟?

我正在尝试在收到请求后立即发送页面响应,然后处理一些内容,但我发现响应不会"先发送",即使它是代码序列中的第一个.在现实生活中我有一个页面用于上传一个excel表,它被保存到数据库中,需要花费时间(50,0000多行),并希望更新到用户进度.这是一个简化的例子; (根据你有多少RAM你可能需要添加几个零来计数器来查看结果)

package main

import (
    "fmt"
    "net/http"
)

func writeAndCount(w http.ResponseWriter, r *http.Request) {
    w.Write([]byte("Starting to count"))

    for i := 0; i < 1000000; i++ {

        if i%1000 == 0 {
            fmt.Println(i)
        }
    }
    w.Write([]byte("Finished counting"))

}

func main() {
    http.HandleFunc("/", writeAndCount)
    http.ListenAndServe(":8080", nil)

}
Run Code Online (Sandbox Code Playgroud)

http server-push go

3
推荐指数
2
解决办法
1492
查看次数

保持jQuery .getJSON()连接打开并在页面正文中等待?

我正在编写一个基本的推送消息系统.一个小小的改变导致它正常停止工作.让我解释.在我的原始版本中,我能够将代码放在文档中,如下所示:

<head>
  ...text/javascript">
  $(document).ready(function(){
    $(document).ajaxStop(check4Updates);
    check4Updates();
  });

  function check4Updates(){
    $.getJSON('%PATH%', callback);
  };
...
</head>
Run Code Online (Sandbox Code Playgroud)

这很好地工作,即使服务器返回null(它会在超时2分钟之后),也会保持连接打开.它会无限期地一遍又一遍地调用getJSON函数.快乐的熊猫.

现在,我必须将代码段放在标签之间.几乎无法访问$(document).ready()函数.

<body>
...
check4Updates();
$("body").ajaxStop(check4Updates);
...
</body>
Run Code Online (Sandbox Code Playgroud)

这有效......一段时间.此后不久,它将停止调用check4Updates并进入无限循环并使用100%处理器时间.

我试图得到它,以便重复调用check4Updates直到页面关闭.如果有人对我为什么简单的更改不再按预期运行有任何见解,请告诉我.感谢您抽出宝贵时间阅读并帮助我.

最诚挚的问候,Van Nguyen

javascript jquery comet server-push

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

从PHP推送代码到javascript

我目前有一段jquery/js代码,它每隔几秒钟(5)运行一次GET请求,寻找可能进入的新数据.

有没有一些方法,我可以让PHP"推"或信号时,新职位的JavaScript代码可用的,而不是每隔几秒钟检查是否任何新的东西进来了?

另一个例子:我正在为用户调整图像大小.我想向用户显示有关正在进行的过程的实时数据 - 显示诸如"上传到服务器","调整图像大小","存储图像"等消息.

对这样的事情有什么帮助吗?

php jquery server-push

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

AJAX 服务器推送

好吧,我对这项技术有疑问,更准确地说是在它的实现方面,在互联网上找不到好的例子,因为它涉及 javascript 和 php,只是,你会有一些链接,我可以在其中找到这个东西真的有效吗?

ajax comet server-push

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

HTTP 服务器推送:服务到服务,无需浏览器

我正在开发一个基于云的后端 HTTP 服务,该服务将公开用于与一些本地系统集成。客户端系统是由外部供应商定制的,它们是具有自己的数据库的后端系统。这些系统部署在我们客户的公司中,我们无权访问它们,也无法控制它们。我们向供应商提供我们的 API 规范,他们实施客户端代码。

我的服务与客户端交换的数据格式基于XML并遵循一定的标准。供应商用不同的编程语言实现他们的客户端系统,随着时间的推移,新的供应商将会出现。我希望尽可能多的客户能够使用我的服务。

我的大部分服务 API 都是类似 REST 的:它接收 HTTP 请求,处理它们,然后发回 HTTP 响应。

此外,我的服务积累了一些数据状态变化,需要定期将这些数据推送到客户端系统。由于以下限制,此用例似乎不适合传统的客户端-服务器 HTTP 请求-响应模型。

  1. 由于业务的性质,客户端系统无法打开自己的 HTTP API 端点,因此我的服务无法与它们建立出站 HTTP 连接来传递数据状态通知。即使用 WebHooks 不是一种选择。

  2. 同时,我的服务利益相关者需要记录确认数据状态通知已被客户端系统接受,因此像 Amazon SNS 这样的即发即忘系统似乎不适用。

我正在考虑解决这个问题的几种方法,但我不确定我是否错过了一些简单的选项或一些已经解决问题的技术。于是就有了这个问题。

问题文本已更新:选项移至我自己的答案。

相关问题和资源

http message-queue server-push websocket grpc

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

POKEIN如何识别客户端进行SERVER PUSH?ClientIDs是否是IP?

我有一个Web应用程序,用户将看到新消息的通知,我想将通知推送给已经登录的用户.

我已经看到我可以使用PokeIn的服务器推送来做到这一点,我已经尝试并理解了使用它的简单应用程序,但我没有得到ClientID的东西.

它保存在"OnClientConnected"中的ClientId是一个简单的整数,那么它如何识别客户端并调用它们上的函数?

此外,它写道,它使用混合长轮询方法,有人可以解释一下这是什么?

没有足够的知识,我将无法实施.

是否在登录用户的数据库中保存ClientID,然后使用此方法推送数据呢?

更新:

即使是在同一浏览器窗口或选项卡中的请求,每次请求时收到的ClientId都不同,所以我必须在我的母版页中包含Handler,并且每次请求时,我都必须将收到的ClientId映射到Logged In用户,以便我可以发送消息给他.

我不能只在LogIn上映射一次(ClientId到LoggedIn UserId),然后使用相同的ClientId向他发送消息吗?

asp.net push server-push push-notification pokein

0
推荐指数
1
解决办法
1435
查看次数