标签: comet

彗星vs pubsub ..?

我可以知道这两种方法有什么不同吗?能用俗人解释?

java comet jetty dwr publish-subscribe

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

最简单的方法来进行彗星聊天

我需要使用PHP作为后端和JQuery作为前端,与许多频道进行tet-a-tet彗星聊天.我需要像事件驱动的服务器这样做...但没有找到任何简单和appplicable我的任务.请告诉我这个问题的最佳解决方案

php jquery comet

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

Comet,Ajax Push,Reverse Ajax

有人有Comet app .net的任何样本吗?我需要一个示例如何在服务器中持久保存客户端的连接?

ajax asp.net-ajax comet server-push reverse-ajax

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

哪一个是最好的COMET服务器?

我正在寻找一个COMET服务器,我想将服务器上的消息专门推送到一些id的用户,我正在使用php,我正在寻找一个好的,简单的COMET服务器.

你能告诉我哪一个最好吗?

php jquery comet

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

在长轮询中在iphone上的safari上加载指示器

我正在尝试使用XMLHttpRequest进行长轮询.它适用于所有支持的浏览器,但出于某种原因在iPhone上的safari上,我得到每个ajax调用的加载指示器,并且长时间轮询有点烦人.

我读到你需要等到文档加载完毕,但它没有缝合工作.任何其他已知的黑客来解决它?

javascript iphone ajax comet xmlhttprequest

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

NodeJS + socket.io:简单的客户端/服务器示例无法正常工作

我正在使用NodeJS v0.4.8和最新版本的socket.io

npm install socket.io

在Ubuntu上:

Linux mars 2.6.38-8-generic#42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 i686 i686 i386 GNU/Linux

遗憾的是,以下代码不会在客户端或服务器端产生任何输出.

有人有线索吗?

服务器端

var http = require('http'),  
io = require('socket.io'),
fs = require('fs'),
sys = require('sys');

respcont = fs.readFileSync('testclient.js');

server = http.createServer(function(req, res){
    res.writeHead(200, {'Content-Type': 'text/html'}); 
    res.end(respcont);
});
server.listen(8082);

var socket = io.listen(server); 
socket.on('connection', function(client){ 

    sys.puts("New client is here!");
    client.send("hello world");

    client.on('message', function(msg) { sys.puts("client has sent:"+msg); }) ;
    client.on('disconnect', function() { sys.puts("Client has disconnected"); }) ;
}); 
Run Code Online (Sandbox Code Playgroud)

客户端

<html> …
Run Code Online (Sandbox Code Playgroud)

javascript comet node.js socket.io

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

如何在PHP中实现事件监听

这是我的问题:我有一个脚本(让我们称之为comet.php)由AJAX客户端脚本提供,并等待更改发生如下:

while(no_changes){
    usleep(100000);
    //check for changes
}
Run Code Online (Sandbox Code Playgroud)

我不太喜欢这个,它不是很可扩展,它是(imho)"糟糕的做法"我想用信号量(?)或无论如何并发编程技术来改善这种行为.你能告诉我一些如何处理这个问题的技巧吗?(我知道,这不是一个简短的答案,但一个起点就足够了.)

编辑:LibEvent怎么样?

php concurrency semaphore comet reverse-ajax

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

PHP Jquery:聊天系统,这是什么理想的框架?

我想为我的网站实现聊天系统.功能将与Facebook聊天非常相似.聊天将是一对一的.

我知道如何使用PHP,MySql和使用JQuery构建聊天系统.但我担心的是,从长远来看,它不会扩展到大量用户.

使用JQuery我会每秒发出一次请求以保持聊天窗口的更新,或者用户是否正在发送与其他用户聊天的请求.这将导致服务器上的额外负载,因为用户群将增加加班时间.

我被告知使用PHP这不是一个理想的解决方案,我应该研究彗星编程,这是我以前从未尝试过的.

我的问题是,我可以使用任何预构建框架,还是构建它的更好方法?

我听说过NodeJs和APE,但我的服务器不支持这些.

多谢你们.

编辑:在与我的服务器人员谈话后,我可能会更改我的操作系统,以便我可以运行NodeJS.nodejs的可伸缩性有多好,它能满足我的需求吗?

php mysql ajax facebook comet

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

Lightstreamer背后的魔力是什么?

我将为彗星编程开发一个框架,我不能使用Web套接字或服务器发送事件(因为浏览器支持真的很糟糕).因此,我需要保持HTTP连接的活动状态,并将分块数据发送回客户端.

但是,当您进入工作时,问题就出现了:

  1. 使用XMLHttpRequest是不可能的,因为事实上,IE浏览器不给你xhr.responseText,同时xhr.readyState为3.
  2. 隐藏iframe无用,因为浏览器在我将数据发送回客户端时显示加载器.
  3. 我试图将JavaScript文件发送回客户端,每次都发送函数执行命令,但浏览器在完全加载之前不会执行JavaScript.

但是,当我查看Lightstreamer演示页面时,我看到它一点一点地将JavaScript文件发送回客户端,并且在每一步中,它都会调用该函数并且该函数只是被执行(我不能这样做)部分).似乎Lightstreamer使用AJAX,因为请求只是出现在Firebug的控制台选项卡中,但它也像IE中的魅力一样.

我试图使用他们在请求中设置的每个HTTP头字段,但没有结果.我也尝试使用HTTP Post而不是HTTP Get,但仍然没有结果.

我已经阅读了近20篇关于如何实施彗星的文章,但是没有一篇文章可以解决我遇到的问题:

  1. 如何使其跨浏览器?
  2. 如何在从服务器到达新数据时收到通知(我应该挂钩什么事件)?
  3. 如何使我的页面显示为完全加载到用户(如何实现它,以便浏览器不显示加载活动)?

有人可以帮忙吗?我认为应该有一个非常小的提示或技巧,我不知道在这里将所有概念粘合在一起.有谁知道lightstreamer会做些什么来克服这些问题?

javascript ajax comet http lightstreamer

6
推荐指数
2
解决办法
3836
查看次数

Node.js和Comet

基本上,我试图从头开始使用node.js建立一个基本的彗星服务器和客户端.一个尝试谷歌的事情它应该工作的过程,因为我正在测试它似乎工作正常.然而,一个问题仍在我脑海中.首先,我想向您展示代码.

var http = require('http');
var sys = require('sys');
var fs = require('fs');
var qs = require('querystring');

var server = http.createServer();

var connections = [];

server.on('request', function(req, res) {

    console.log(req.url);

    if(req.url == '/index') {

        fs.readFile(__dirname + '/index.html', function(err, data){
            if(err) {
                res.writeHead(err, data);
                return res.end('Error loading index.html');
            }

            res.writeHead(200);
            res.end(data);
        });
    } else if(req.url == '/sendData') {
        if (req.method == 'POST') {
            var body = '';
            req.on('data', function (data) {
                body += data;
            });
            req.on('end', function () {

                var POST …
Run Code Online (Sandbox Code Playgroud)

javascript ajax comet node.js

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