Detecting unexpectedly closed sockets
Tomas Franzén
tomas at lightheadsw.com
Mon Oct 18 12:11:23 EDT 2004
On 2004-10-17, at 23.29, Alex Tweedly wrote:
> Can you define "many" and "MANY" ?
> (i.e. 50 v 500 v 5,000 v 50,000 ....)
Sorry for not being more clear. I'd like to support a few hundred
clients, but more if possible, of course. Let's say 300.
> 1. are you using TCP (open socket) or UDP (open datagram socket) ?
TCP.
> 2. if TCP - do you open a connection per transaction (cf most HTTP /
> www) or open one and keep it open for multiple transactions (e.g
> persistent connections, as added in HTTP 1.1) ?
I use persistent connections, like Connection: keep-alive in HTTP 1.1.
:-)
> 2a. (if persistent connection) does the server close inactive TCP
> connections to preserve its TCP connections (most servers will only be
> able to have a limited number of TCP connections open simultaneously)?
The connections are kept open. (that's my plan, at least)
> 3. how many transactions per second (or per minute or per hour -
> whichever is appropriate) would a typical teacher and a typical
> student be involved in ?
Not including the keep-alives, the teacher may send, let's say... 1 per
minute maybe, shouldn't me more.
Students don't send anything, except messages to the server telling it
they're alive, and responding to requests from the server and teacher.
> 4. probably most important - how quickly do you need to be able to
> respond ?
You mean responding to a request? It doesn't matter much, but I guess
the teachers don't want to wait too long before the results appear.
> 5. what kind of failures are you trying to detect ?
> - loss of power, network, etc.
> - student disconnecting deliberately (playing hooky :-)
Both of them. The purpose of StudentWatcher + RSCP is to provide
teachers with a tool to keep students from doing web surfing and game
playing instead of school work in class.
The teachers can monitor what the students are doing (list of
processes, requesting screenshots), and take actions (lock the
computer, shut it down, kill processes, display messages, etc). So it
shouldn't be too easy for the students to disrupt the connection.
> 6. what kind of response will be made when a loss is detected ?
> what order of magnitude time-frame is involved ?
> (i.e. machine speed, human speed, school administration speed ?)
The only thing that happens is that the server detects a lost
connection, and notifies the teacher computer. The teacher app updates
the list of students, marking the disconnected student with "Offline"
in red text. What do you mean by "order of magnitude time-frame"?
> if it's hard to answer the above questions ahead of deployment, then
> make N somewhere between those two (5 and 60) and easy to change, and
> see what happens .....
Will do. I plan on setting N to 10. If using 3.5 as the timeout factor,
a disconnection would be detected in about roughly 35 secs, which seems
okay.
Students will hate this program. ;-)
Thanks!
Tomas Franzén
Lighthead Software
http://www.lightheadsw.com/
I'm listening to Rammstein - Zwitter
More information about the use-livecode
mailing list