1) Sockets is best suited here for its performance...
2) MSDN, Code project have also got good samples, Search google Sockets in C# etc
3) Server will have a database, where usernames and passwords of all the students will be stored, when a user will connect it'll send username and password to the server, server will query the database and see if its a valid user, if so server will see how many clients are online, build a list and send back to the client....
4) Just start it, it'l go fine with this idea, Create some small database, write some small samples on sockets, connections disconnections, sending and receicving data, events, locking etc,...
5) I would recommend using NetworkStream and asynchrnous read functions it...
Best Regards,
Rizwan
|