标签: long-polling

捕获客户端断开连接的事件! - Gevent/Python

我正在使用长轮询与gevent聊天.我正在等待在聊天中发布新消息时使用Event.wait().


我想处理客户端断开某些功能的场合:

例如,返回"客户端已断开连接"作为其他聊天用户的消息


这可能吗?=)

python django long-polling gevent

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

在线游戏中玩框架longpolling

我正在使用play框架开发一个浏览器游戏,我肯定需要longpolling,但我不太明白如何使用它.WebSockets对于它来说是完美的,但它还没有得到那么多浏览器的支持.

这就是我想要做的事情:当用户登录并导航到游戏控制器时,我想开始连接并保持打开状态.我想为所有在线用户执行此操作,因此我可以在网站上显示这些用户的列表,以便他们可以互相玩耍.我查看了文档,但我不明白如何在我的情况下实现它.因为根本没有我想要计算的东西(在示例中他们正在生成pdf)我只想让连接保持打开状态.

我还想知道的是,我应该如何跟踪所有这些开放的连接?现在,我online在数据库的users表中只有一个列,我更新了.每次有人连接时我都要更新数据库.有没有更好的方法来做到这一点,还是这样好吗?

最后,假设以上所有工作.当玩家A选择玩家B玩时:如何通知玩家B?我只是发送一些JSON代码,并在播放器B的一侧用javascript更改页面,还是将他发送到一个完全不同的页面?当两个连接建立并且游戏已经开始时,我不确定如何通信.

java comet long-polling websocket playframework

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

Django,Ajax长轮询,Postgresql:空闲事务

我使用ajax long polling和Gevent实现了聊天.要读取,客户端ajax更新视图并等待Gevent.event.wait进行更新.

问题:Django在请求开始时打开的Postgresql事务(获取会话信息)直到请求结束才关闭.那些空闲的事务占用了大量的内存.

在不关闭请求的情况下关闭Postgresql事务最简洁的方法是什么?我正在手动发送request_finished信号,但感觉就像是黑客.

django postgresql django-views long-polling gevent

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

长轮询数据库数据?

经过一周的谷歌搜索和搜索.我很难找到一个关于数据库表长轮询的单一教程,而不是名为data.text的平面文本文件.目前,我手动编写data.text中的任何内容,它立即出现在浏览器中.

这是一个问题:使用数据库进行长轮询?即使在StackOverflow中也没有正确回答.(我在这里找到了很多,但徒劳无功.).这里的例子也是 MySQL的filemtime替代品

如何修改getdata.php使其能够从数据库中获取数据?

 $sql=mysqli_query($database,"SELECT * FROM messages  where time>=$curr_date ORDER by      time DESC");
  while($row=mysqli_fetch_array($sql)){
    $messages=$row['messages'];
    $id=$row['id'];
    echo $messages;
  }
Run Code Online (Sandbox Code Playgroud)

消息表如下

    id     fro   to  mesg      time  status  last_modified  
Run Code Online (Sandbox Code Playgroud)

我在这里列举一个例子.在此示例中,正在使用三个文件.

  1. 的index.html
  2. getdat.php
  3. data.text

是否需要制作第四个文件来从数据库(mysql)获取数据?如果没有,那么在getdata.php或data.text中需要进行哪些类型的更改才能使用数据库中的动态数据?

这是我的Javascript

<script type="text/javascript" charset="utf-8">

        var timestamp = null;

        function waitformsg() {
            $.ajax({
                type:"Post",
                url:"getdata.php?timestamp="+timestamp,
                async:true,
                cache:false,
                success:function(data) {
                    var json = eval('(' + data + ')');
                    if(json['msg'] != "") {
                        $("#messages").append(json['msg']);

                    }
                    timestamp = json["timestamp"];

                    setTimeout("waitformsg()", 1000);
                },
                error:function(XMLhttprequest, textstatus, errorthrown) {
                    alert("error:" + textstatus …
Run Code Online (Sandbox Code Playgroud)

php mysql ajax jquery long-polling

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

如何在ASP.NET MVC中应用长轮询技术?

我搜索了很多关于轮询技术但我找不到任何关于如何在asp.net mvc中应用这种技术的内容.有很多文章和文档,但大多数关于PHP和ajax.

我希望在两个地方使用这个技术和我的项目,一个是像twitter这样的推文系统,另一个是聊天系统.我很好奇在MVC中应用这种技术的最佳方法是什么?我必须使用SignalR吗?这是最好的选择吗?

如果你能给我一些样品或文件,那就太好了,谢谢!

c# asp.net-mvc long-polling asp.net-mvc-4 signalr

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

如何提前关闭/中止Golang http.Client POST

我正在使用http.Client长轮询的客户端实现:

resp, err := client.Post(url, "application/json", bytes.NewBuffer(jsonPostBytes))
if err != nil {
    panic(err)
}
defer resp.Body.Close()

var results []*ResponseMessage
err = json.NewDecoder(resp.Body).Decode(&results)  // code blocks here on long-poll
Run Code Online (Sandbox Code Playgroud)

是否有标准方法来抢占/取消客户端的请求?

我想调用resp.Body.Close()会这样做,但是我必须从另一个goroutine那里调用它,因为客户端通常已经被阻止阅读长轮询的响应.

我知道有一种方法可以设置超时http.Transport,但我的应用程序逻辑需要根据用户操作进行取消,而不仅仅是超时.

go long-polling

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

在Signalr中哪个更好的WebSocket或长轮询?

我想制作Asp.NET网络聊天应用程序,发现这Signalr是最好的选择.我发现了一个示例项目,Long Polling但似乎发送消息需要很长时间,或者它只是取消它.我想打快速聊天应用程式,例如FacebookGoogle.

请给我更好的方法继续.

asp.net long-polling signalr

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

HTTP 长轮询 - 超时最佳实践

我使用 Javascript AJAX 和长轮询。尝试找到服务器响应超时的最佳值。

我阅读了很多文档,但找不到超时的详细解释。

有人选择20秒,其他30秒...

我在图表上使用逻辑 HTTP图

如何为超时选择更好的值?我可以用5分钟吗?这是正常的做法吗?

PS:可能的 Ajax 客户端互联网连接:以太网 RJ-45、WiFi、3G、4G,以及 NAT、代理。

我担心在某些情况下由于长时间超时,第三方可能会断开连接。

javascript ajax http long-polling

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

如何在本机JavaScript和node.js中使用长轮询?

我需要long polling为聊天应用程序实现.我一直在寻找,但我只是在JavaScript使用中找到了如何实现它JQuery.我怎样才能使用native JavaScript和实现它node.js?你能指导我一些相关的文章或材料吗?

javascript long-polling node.js

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

Angular 4中的长轮询

我需要做API调用来显示某些内容的进度.

我创建了一个服务,每1.5秒执行一次

主要部分

private getProgress() {
        this.progressService.getExportProgress(this.type, this.details.RequestID);
    }
Run Code Online (Sandbox Code Playgroud)

Services.ts

public getExportProgress(type: string, requestId: string) {
    Observable.interval(1500)
        .switchMap(() => this.http.get(this.apiEndpoint + "Definition/" + type + "/Progress/" + requestId))
        .map((data) => data.json().Data)
        .subscribe(
        (data) => {
            if (!data.InProgress)
                //Stop doing this api call
        },
        error => this.handleError(error));
}
Run Code Online (Sandbox Code Playgroud)

这个电话有效,但它一直在继续.我想在进度结束时停止进行API调用(if (!data.InProgress)但我仍然坚持这一点.

我怎样才能正确地取消订阅这个可观察的时间if (!data.InProgress)

谢谢

long-polling typescript angular

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