MRAD
Messages postés86Date d'inscriptionmardi 21 octobre 2008StatutMembreDernière intervention17 avril 2009
-
17 avril 2009 à 11:30
Bonjour,
Je programme en C# il y a 3 mois, 3 ans d'experience en programmation (pascal, C, C++)
Je veux creer 3 applications en C# comme suite:
1- Une application Client : connecte sur un serveur dans un LAN via un UserName et un password, si le UserName et le password existant dans la base de donnees du serveur, le client peut envoier et recevoir des donnees du serveur.
2- Une application Admin : connecte directement a la base de donnees pour ajouter ou modifier des donnees.
3- Une application Server, travaille en background et devra toujour en execution pour qu'elle accept les connection des Clients. Cette application connecte a une base de donnees contenant des informations concenant les Clients, renvois ces donnees suivants le besoin du Clients
--> J'ai commencé de cree les application Client et Server et j'ai etablit la connection entre eux dans un reseau locale (Application exemple (Sockets) dans MSDN avec quelque modification) et j'ai constaté que mon application Server ne peut traiter q'un seul Client a la fois : Comment puis-je ameliorer ceci en premier lieu?
while (true)
{
Thread.Sleep(1000);
TcpClient tcpClient = tcpListener.AcceptTcpClient();
byte[] bytes = new byte[512];
NetworkStream stream = tcpClient.GetStream();
stream.Read(bytes, 0, bytes.Length);
SocketHelper helper = new SocketHelper(); // une classe qui traite le message reçu
helper.processMsg(tcpClient, stream, bytes);
}
Le serveur effectue toujour cette boucle pour detecter une connetion parvenu d'un client. Comme puis-je amelioree ceci?