I am wondering to design a high performance server socket in C# using SocketAsyncEventArgs. This socket should handle multiple client connections simultaneously. This should perform following activities,
1. Accept client connections asynchronously.
2. Receive data from clients connected to the server.
3. Send data to all or particular clients connected to the server.
4. Close all the the client connections forcefully and stop listening. Start listening again when clicking a button start listen.
I have completed #1 and #2 above with the help of samples provided at MSDN, but I could not design #3 and #4.
Please suggest me, how can I achieve remaining points above ?
It would be more appreciable if you provide sample code for it.
Thanks in advance.