This may be a little off-topic, but another interesting site that's worth a look at is www.pushlets.com. Their basic setup is to use a Java servlet to push javascript down a HTTP connection to a hidden frame. And they have some impressive demos :) The claim compatability with IE (back to 4.01) and Netscape (back to 4.05).

It would be _so impressive_ if an IOElement could do a similar thing....


Andrew Gillett



Raymond Irving wrote:
Hi,

For some more information on server-push and
client-pull visit the following website:

http://wp.netscape.com/assist/net_sites/pushpull.html

--
Raymond Irving

--- Leif W <[EMAIL PROTECTED]> wrote:

I was thinking of how to approach this problem a
while back (for the case of
a simple online cardgame) but never came to anything
concrete.  However, I
did remember playing with some script (it was in
Perl but you could use any
language) which acts as a server-push, but it only
works for Mozilla, not
IE, and not tested in Opera or Safari.  So, if you
want a true client-server
model with bidirectional communication I guess
you're best off coding a Java
applet for the browser, and whatever language
specialized server with your
own protocol.

Anyways here's the example code I was using.  Also,
I was testing on an
Apache server and the script would not work unless
the filename began with
"nph-" which stands for non-parsed headers.

=============================
BEGIN - Perl script
=============================
#! /usr/bin/perl -w
use strict;

use CGI qw/:standard :push/;
use CGI::Carp 'fatalsToBrowser';

$CGI::POST_MAX = 1024 * 1024; # max 1M posts
$CGI::DISABLE_UPLOADS = 1;  # no uploads
$| = 1;

print multipart_init(-boundary=>'----here we go!');

foreach (0 .. 4) {
   print multipart_start(-type=>'text/plain'),
         "The current time is
",scalar(localtime),"\n";
   if ($_ < 4) {
           print multipart_end;
   } else {
           print multipart_final;
   }
   sleep 1;
}

=============================
END - Perl script
=============================

As you can see, most of the actual server-push code
is handled by the CGI
Perl Module.  So just taking a quick peek inside to
show the relevent bits
of raw HTTP and HTML tricks used, or just using
telnet or wget to fetch from
the server.

Headers: (first three added by Apache, last one
added by the script)

HTTP/1.0 200 OK
Server: Apache/2.0.47 (Unix) mod_ssl/2.0.47
OpenSSL/0.9.7c DAV/2
PHP/4.3.4RC1
Date: Tue, 14 Oct 2003 13:39:48 GMT
Content-Type:
multipart/x-mixed-replace;boundary="----here we go!"

Content:

WARNING: YOUR BROWSER DOESN'T SUPPORT THIS
SERVER-PUSH TECHNOLOGY.
------here we go!
Content-Type: text/plain

The current time is Tue Oct 14 09:39:48 2003

------here we go!
Content-Type: text/plain

The current time is Tue Oct 14 09:39:49 2003

------here we go!
Content-Type: text/plain

The current time is Tue Oct 14 09:39:50 2003

------here we go!
Content-Type: text/plain

The current time is Tue Oct 14 09:39:51 2003

------here we go!
Content-Type: text/plain

The current time is Tue Oct 14 09:39:52 2003

------here we go!--
WARNING: YOUR BROWSER DOESN'T SUPPORT THIS
SERVER-PUSH TECHNOLOGY.



----- Original Message ----- From: "Raymond Irving" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, October 13, 2003 10:27 AM
Subject: Re: [Dynapi-Help] Simple communication
questions...




See below:

--- Clemens Eisserer <[EMAIL PROTECTED]> wrote:

Hi again!

I´m currently thinking about writing a simple
JS-Chat, so that the chat doent need to reload
always when
new messages recieve.
The problem is, that the server should connect

to


the client, which is not possible as far as I

know,


this
means the client has to use possling and aks all

x


seconds the server for new messages.

1.) Is there no other was to do this than

polling?


Not that I know of


2.) These are the only polling-ideas I had:
* Blocking soda-rpc function. Blocks till

messages


are on server. (Problem with blocking - no

events


etc?)
* Non-Blocking soda-rpc function. Returns -1 if
nothing is there...

Is the blocking version possible, or will it

cause


the application to hand in the poll-loop. This

is a


problem
in my eyes since JS hasnt support für

Multithreading


:(

Using synchronous GET or post will cause the app

to


wait until the server returns a response.



Does anybody have better ideas, I´m not really

happy


with my stuff..

In the future there might be an easier method


--
Raymond Irving


lg Clemens

PS1: How hard would it be to adopt dynapi to
knoqueror? (only because it interrests me why so
many
examples dont work..)
PS2: Dynapi is great!








------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. SourceForge.net hosts over 70,000 Open Source Projects. See the people who have HELPED US provide better services: Click here: http://sourceforge.net/supporters.php _______________________________________________ Dynapi-Help mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dynapi-help

Reply via email to