标签: server-push

asp.net http服务器推送到客户端

将信息从服务器推送到Web客户端的最佳方法是什么?我知道可以使用Silverlight和Flash设置套接字,但我想要保持这两种技术.

Gmail似乎可以很好地轮询服务器以获取更新的电子邮件,甚至聊天程序也能很好地工作(所有这些都在我的网络浏览器中工作).关于使用asp.net做这样的事情的最佳方法的任何想法?

编辑:如果我必须轮询,我想每2或3秒轮询一次服务器.因此,我不确定如何在不使用Web服务器的情况下如何做到这一点.

asp.net server-push

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

研究从服务器通知WPF客户端的解决方案

我有一个项目提出要求在服务器上发生某些事情时通知WPF桌面客户端.此外,WPF客户端的通知不会被广播(发送给每个客户端),应该发送给特定的客户端.

我想远离旧式服务器轮询.这需要尽可能接近实时.

我之前从未有过这个要求,而且我正在研究解决方案.我的第一个想法是将SignalR.NET客户端一起使用.我还没有使用过SignalR,但似乎它可能是一个解决方案.我知道这是对长轮询,服务器发送事件和WebSockets的抽象,具体取决于可用的内容.

我已经简要地阅读了有关回调和服务总线的WCF,但是对它们一无所知或这些技术是否适用于此.我可以使用之前解决过这个问题的人的一些反馈和建议.你会怎么做?

.net wpf client-server server-push signalr

16
推荐指数
2
解决办法
4655
查看次数

nginx HTTP/2模块是否支持Server Push?

我打算将我的nginx升级到支持HTTP/2的1.9.6.

有nginx实现HTTP/2服务器推送吗?

参考:https: //ma.ttias.be/service-side-push-http2-nghttp2/

ssl nginx server-push http2

15
推荐指数
2
解决办法
6666
查看次数

HTML5 Server-Sent Events原型设计 - 模糊错误和重复轮询?

我想它们符合我的要求完美,看起来他们应该是简单的实现获得与服务器端事件交手,但我不能让过去一个模糊的错误,什么样子反复被关闭了连接并重新-opened.我尝试的一切都基于这个和其他教程.

PHP是一个单独的脚本:

<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');

function sendMsg($id, $msg) {
  echo "id: $id" . PHP_EOL;
  echo "data: $msg" . PHP_EOL;
  echo PHP_EOL;
  ob_flush();
  flush();
}

$serverTime = time();
sendMsg($serverTime, 'server time: ' . date("h:i:s", time()));
?>
Run Code Online (Sandbox Code Playgroud)

并且JavaScript看起来像这样(在身体负载上运行):

function init() {

    var source;
    if (!!window.EventSource) {
        source = new EventSource('events.php');
        source.addEventListener('message', function(e) {
            document.getElementById('output').innerHTML += e.data + '<br />';
        }, false);
        source.addEventListener('open', function(e) {
            document.getElementById('output').innerHTML += 'connection opened<br />';
        }, false);
        source.addEventListener('error', function(e) {
            document.getElementById('output').innerHTML += 'error<br />'; …
Run Code Online (Sandbox Code Playgroud)

apache html5 server-push server-sent-events

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

使用Server-Sent事件进行双向客户端 - 服务器通信(而不是WebSockets)的缺点

最近我发现Server-Sent事件是WebSockets的一个更简单的替代方法,用于从服务器进行推送.大多数比较它们的地方(比如这里,这里这里)说,如果你不需要客户端和服务器之间的全双工通信,那么WebSockets就太过分了,SSE就足够了.

我的问题是当你需要双向通信(例如聊天),使用常规的ajax请求从客户端发送消息和服务器流接收它们时,使用SSE的缺点是什么?考虑到我必须在服务器端做很少甚至没有配置来使用SSE,它似乎是一个更吸引人的选择.

real-time server-push websocket server-sent-events

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

Socket.io是否保证在客户端收到广播事件?

在Socket.io中是否有某种订购机制可以保证客户按顺序接收事件.例如:如果服务器向客户端A发出事件Evt1,则服务器将Evt2广播到所有客户端.thud客户端A接收Evt1然后接收Evt2并且只接受该顺序.我有点懒,读代码,在网上找不到我的答案.我的猜测是否定的,如果是这样的话你会如何实现它或者是否存在现有的解决方案?

server-push node.js socket.io

11
推荐指数
2
解决办法
3202
查看次数

text/event-stream被识别为下载

我正在尝试按照本教程在我的Flask项目中实现服务器推送.

我已经设置了所有没有错误,但是当我进入/ stream页面时,Firefox将其识别为文件并尝试下载它.在Safari中,它只打印出发送的数据.我尝试将代码调整为更简单的实现,其中线程每秒产生一些数据,但它产生相同的结果.

我的目标是每次python脚本到达循环中的某个点时,它将更新Web界面上的进度条.

对此的任何帮助都会很棒.谢谢.

编辑:

app.py

from flask import Flask, render_template, request, Response

app = Flask(__name__)

def event_stream():
    event = "Hello!"
    yield 'data: %s\n\n' % event

@app.route('/stream')
def stream():
    return Response(event_stream(), mimetype="text/event-stream")

if __name__ == "__main__":
    app.debug = True
    app.run(threaded=True)
Run Code Online (Sandbox Code Playgroud)

的index.html

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

    <script type="text/javascript">
        var source = new EventSource('/stream');
        source.onmessage = function (event) {
             alert(event.data);
        };
    </script>

</head>
<body>

    <p>Stream page</p>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

python server-push flask

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

如何升级过滤器以支持Servlet 3.0异步servlet

我有一个servlet,用于从许多第三方REST数据点获取数据,集成所有数据并以HTML格式报告数据.我也有一个过滤器,其流程如下 -

  1. 请求到达过滤器时创建事件记录,并将eventrecord对象添加到请求中
  2. 执行chain.doFilter - 它允许servlet向eventrecord添加更多细节
  3. 在返回浏览器的路上,filter获取eventrecord对象并记录它.

现在,如果我使用异步servlet AsyncContext context = request.getAsyncContext();,它将与相同的REST数据点进行通信,但是当数据准备就绪时,它将写入响应流而不是等待所有REST数据点响应,我将如何重写我的过滤器?是否会附加到负责从REST数据点刷新数据的线程,以便一旦处理完所有数据并将其记录下来,它将记录事件记录?有没有可以学习的常见模式来理解如何使用Servlet 3.0的异步servlet处理这样的用例?我使用的是JDK 6.0,Tomcat 7.0.

server-push servlet-3.0 java-ee-6

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

使用SignalR将数据从SQL Server推送到Web应用程序

我的ASP.NET MVC 4 Web应用程序正在向客户端显示经常更新的数据.数据源自外部源(安装在服务器上的应用程序)并由SQL Server 2008 R2处理.

目前,数据流非常传统:客户端从ASP.NET轮询,ASP.NET轮流从SQL Server轮询.

为了避免轮询(现在我需要在Web应用程序的用户之间进行实时交互),我正在改变推送方法,signalR用于向客户端广播数据.这样可以增加用户体验的流畅性,还可以减少客户端和ASP.NET服务器之间轮询的开销.

现在的问题是反转SSRV和ASP.NET之间的流程:我想以最有效的方式将数据从SSRV推送到ASP.NET.

SSRV运行昂贵的查询来导入一些外部数据 - 一旦数据被处理,它们也可以通过广播在互联网上共享.

我当前的穷人方法:向Web应用程序(在localhost上)发出POST Http请求以发送数据(我正在使用CLR函数).

处理完数据后,我将它们打包准备好,将HttpWebRequest它们排入Service Broker中以避免影响其他活动,我就完成了.

我已经注销,SqlDependency因为它会强制我查询数据 - 这不是一个很大的优势(我会在SQL Server上运行查询的localhost HTTP请求)

与此同时,我觉得应该有一个更简洁的方法来做到这一点.

有什么建议?

asp.net-mvc server-push sql-server-2008 signalr

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

服务器发送推送通知到客户端浏览器而不使用轮询

嘿家伙我正在开发一个网络应用程序,我想在数据库发生一些变化时,服务器向特定客户端发送响应(如推送通知).我希望将此通知发送到客户端的浏览器.我不想使用民意调查.我能做什么?我认为使用SSE是可能的,但我不清楚.
我想知道

  • 是否可以在没有客户请求的情况下向特定客户端发送响应(无需轮询).
  • 服务器如何检测特定客户端?

请帮我.

browser server-push push-notification

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