On Thu, Jun 11, 2009 at 2:17 AM, GAGAN ARORA<[email protected]> wrote:
> Hi
> I have a requirement in which I to upload file contents on a server and at
> the same time uploaded data is to be downloaded by no of clients listening
> to server. What would be the best way to achieve this using Apache Mina so
> that I can have maximum performance with no latency?
>
> Thanks
> Gagan Arora
>

Hi Gagan,

Your question is pretty abstract, some more details would definitely
help you get better quality answers. Right now I think you want:

a) source to start upload
b) file lands on server
c) clients read from server as file is written to disk.

I'd suggest that you start by writing a daemon for the server, as it
receives bytes it writes them to disk, followed by writing them to the
sockets of connected clients. When a client connects it can read the
already processed bytes either by reading from disk, or if the data is
small enough from an in-memory buffer. When they're up to speed with
the live stream they can switch over to it.

In MINA I'd start off by creating a Server which listens on two ports
- one port for uploaded content, the other for content clients. Each
upload should have a tag - as the upload client sends the file the
bytes get written to a buffer which flushes to disk (size of buffer
dependent on what you're trying to achieve). Clients that want the
content connect to their port and specify the same tag.

You might want your content consuming clients to use UDP if you can
stand losing data (i.e. like streaming video or something).

Best of luck,

mike

-- 
god loves atheists, Fact: http://www.mrwiggleslovesyou.com/comics/rehab477.jpg

Reply via email to