Synapse will handle it and handle it well.
That said, you need to have some knowledge of how threading works or you can
use methods such as the GroupCanRead method to detect if you need to service
a connection. Depending on the level of latency allowed , you may have to
use a combination of thread pools together with groupcanread.
I have created a IPC dispatch server using synapse that work quite well with
600-800 clients where i have a thread for every 50-100 (64 on win32)
connections that does groupcanread and passes the socket that need servicing
to a thread pool of 5-10 threads that will read and process the data and the
pass the messages to a send pool that will send the messages to which ever
connections that have subscribed to the message type in question.
My initial version was windows only and used IOCompletion ports, but as I
needed a more generic version for other platforms I needed to use more
traditional socket selects that synapse wraps nicely for you in the
groupcanread method.
Mikael Ostensson
On 8/24/07, Dennis Nielsen <[EMAIL PROTECTED]> wrote:
>
> Hello fellow synapse users.
>
> I have a problem where I need to write a server that can handle at
> maximum 50 users, and has a good broadcast feature.
> Since I really like synapse, and has used it in many smaller cases, it
> would be great if it could be used to make this kind of server.
> The problem in reallity is, that any of theese users can send data, and
> server must not lock while processing and relaying to other users.
>
> I have no bigger experience with writing this kind of application. So I
> am seeking information, on how to keep a client list wich I can
> broadcast to.
> What I have found is the libraries from the synapse mail server. Theese
> are built up with the multithreaded part. But they are still using
> blocking method, and looping
> a list of client connection, I asume will not work if there is 50 users.
> There must almost not be any delay in this data stream.
>
> Can synapse handle this? Is there currently enough asynchronous support
> to do this?
>
> And if anyone has examples, that would make my day.
>
> Thank you.
>
> Regards Dennis
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems? Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> synalist-public mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/synalist-public
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
synalist-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synalist-public