1. Re: EU Server

Ralf Nieuwenhuijsen wrote:
> How do you make an FTP server with it ?
an ftp server could get complicated very quickly, if you
wanted to allow more than 1 user to DL a file at once...

a single user FTP server would be (nearly) trivial,

a FTP server that could send multiple different
files to multiple different users would need a way
to round robin the DL's.  I haven't given much thought
to FTP servers as applied to EUServ yet, but the groundwork
is there.

Off the top of my head, and likly not the best solution,
I would say you need to add a field to all user records
that would be a flag showing they were DL'ing, and another
flag showing the offset into a file that they are at.

Remembering that we need to packetize everything, we should
only send 576byte sized chunks of that file.

We would really need a companion client to do this efficiently...
a client that after it received that packet would send back
to the server a go/nogo signal for the server to loopback
into FD_READ and send the next packet/resend the last packet...

without a way to get triggered into FD_READ, we would need
to (somehow) scroll the entire userlist, often, and see
who is ready for their next packet/send them a packet/reset
their status to ready for another packet...

i'm not real wild about that algorithm/solution, personally...
bandwidth becomes a real issue as well, not to mention
the inability to verify successful reception of packets
without a client.

on the issues of UPL'ing, receiving a text file from
any number of users,simultaneously, would be trivial,
the way it sits right now... a flag showing the user
is uploading and another field showing the filename,
and every time an 'enter' rolls by, the server will
already sub out with a cmdpending flag set, and we
could add a snippet in processnormal to append the
user's buffer to a file... no worries, nor prob there...

users ULing binary becomes a hassle, as we would need
to intercept BEFORE getkeyfromuser got triggered, perform
an end run round that func, and append the buffer
to a file... the concept is real simple sounding, but
we have the problem of: how do we know a 'line' of data
from the binary file is ready to be appended...
(length(bufferIDX)=576 ???)
and how do we know the end of file was reached? (to turn
off our binary send flag (if find(-1,buffer)????)...

I also keep thinking that building FTP directly INTO EUServ,
instead of 'converting' EUServ into an FTP server, may
actually be the answer, and yes, there is a huge
difference between the two... :)

before i work on this myself tho, i have other do_func's
i want to code and other applications for EUServ i wish
to address, a big, big one being turning EUServ into
a collaboration tool that requires NO special client
or software, so that myself, and others, working on
EUServ issues (such as simultaneous FTP) and EU prog's
in general, can communicate/whiteboard/share&run programs
we/they are working on...

it's been too hard to work with the people that are helping
me with this project without that type of software available...

the other thing i want to work on is finding EUserv a home,
where it's up 24/7, in the collaboration mode, ready to go,
for everyone on this list to use.
I think we could use this, as a group, and i think it would help.

the trick is getting a static IP attached to a Win host run
by an implementor with morals... heh.
we could go with the ml.org DYNDNS with autoupload dynamic IP to
webpage link method, to solve the static IP problem...
but, that is a problem i'll likely address later...


tis all fer now...Hawke'

new topic     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu