Andre's post: Rev and the Web...
Randall Lee Reetz
randall at randallreetz.com
Fri Dec 26 01:24:14 EST 2008
Thank you Alex,
I guess I have to admit here... as usual... being a generalist... I
have avoided a lot of the detail... so I don't know anything about
how to send and receive data over the internet. That is what I need
to know. The basics. The details of the basics. The rest, I will
fumble through. Lets assume I have an xtalk project running on a
server, and another clint project running on my machine. How do I
send a message to the server in such a way that it talks directly to
the xtalk server project? And the other way around?
Randall
On Dec 25, 2008, at 6:09 PM, Alex Tweedly wrote:
> Randall Lee Reetz wrote:
>> Andre,
>>
>> I have a need for ongoing conversion of xTalk projects/stacks to
>> multiple-simultaneous-user collaborative environment (projects
>> running over the web?).
>>
>> I found your post "Rev and the Web, feedback wanted." and want to
>> revisit these concepts to see what has been done and what could be
>> done quickly.
> I should preface my reply by saying that I haven't read Andre's
> post for quite a long time, so I am replying *just* to the
> questions raised here, not properly in the context of Andre's
> earlier email.
>>
>> Lets agree for now to go with your "helicopters on the bottom of
>> the ocean" approach. As I understand it, you suggest a Rev
>> developer would provide links to projects/stacks which the user
>> would download along with the appropriate Rev runtime player app.
>>
>> That is all well and good. But then what. What I then need is
>> some way to keep track of real time multi-player interaction (some
>> way to send data upstream to a server, have that data processed,
>> send response data downstream to each applicable client (user).
>> The same problem might be solved as a pure peer-to-peer (no
>> central servers involved) topology... theoretically elegant,
>> almost impossible in practice.
>>
> First thing you need to consider is what you man by 'real time' and
> by 'multi-player'; i.e. do you have strict timeliness requirements
> (and if data cannot be deliverd in time, it should be dropped
> rather than causing a delay for any other data) and how many users
> are we talking about simultaneously.
>> So, I guess I need some simple advise on how to set up a central
>> server running Rev and accepting input from web connections to
>> users, and how the user's projects would best package data, send
>> it upstream to the server stack and how to for each client stack
>> to listen in to the server and accept server processed data.
>>
> " ... from web connections ..." ? Do you really mean 'web
> connections' or rather 'internet connections' (or even network
> connections) ? To me (old-fashioned ?). 'web connections' means you
> are already implying HTTP / HTML connections - but I suspect from
> the later questions that you mean 'internet connections'.
>> I need to understand how to send and receive data over the web to
>> servers and other clients in real time (from Rev projects).
>>
>> 1. How to set up a connection.
>> 2. How best to keep track of users (clients) along with session
>> specific connection address data.
>> 3. How to protect data and transmission.
>> 4. How to pack data and send to server or to clients (protocol and
>> standards and handshakes, etc.)
>> 5. How to verify transmission.
>>
> The short answer is probably to look at Bjornke's RevChat
> applications (he has both client and server) at http://bjoernke.com/
> runrev/chatrev.php That has mature server that handles
> connection setup, tracking clients, data replication, etc.
>
> A longer answer would say things like....
>
> Easiest way to handle connection setup is to have a single central
> server; any client connects to it and is then (potentially)
> redirected to a diferent server or servers for data transmission
> and/or reception.
>
> How may simltaneous connections need to be handled ? How much data
> will be expected ? How hard are the 'real-time' requirements ? If
> the number of receiving clients is small-ish (and./or) the data
> rate is small enough - then replicate all data at the server,
> sending it all out a connection to each client. (this is the place
> to think about worst case data rate, and see what impact you mght
> get from transmission delay at the server).
>
> 'protect data and transmission' Protect in what sense ? To make
> sure it happens ? - either use TCP or a TCP-based protocol
> (assuming you can afford the lack of real-time characteristics
> implied), To ensure data is uncorrupted ? - either use TCP or UDP
> and a app-level checksum. Protect from prying eyes - either use
> ssl or similar, or add app-level encryption (and pass keys off-
> channel).
>
> pack data ? A very broad question ... depends on so many
> variables I'm not sure I'd know where to start. Look at the
> (likely) context - do users really need to be Basic Broadband (or
> better) right away to avoid Christmas Day mayhem. If so, it is
> likely you should avoid optimizing transmissin charecteristics, and
> focus on minimal client CPU overhead,
>
> And lots more questions (if it wasn't already very late Christmas
> evening ....)
>
> -- Alex
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
>
More information about the use-livecode
mailing list