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
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to