Pas encore inscrit ? Creez un Overblog!

Créer mon blog

Comment utiliser des sockets en C# ? (guide pratique)

Grâce au .NET framework, il est très facile d’implémenter une communication socket client serveur. L’établissement d’une communication nécessite de disposer d’un applicatif serveur et d’au moins un applicatif client. À titre d’exemple, nous allons voir comment créer simplement un mécanisme d’échange de données en se basant sur le langage C# et sur le protocole TCP. Voici comment utiliser les sockets en C#.

La partie du serveur


Pour créer une communication C# client serveur asynchrone, le .NET Framework fournit les classes "TcpListener" et "TcpClient" dans le NameSpace System.Net.Sockets. L'initialisation d’un socket c# serveur

- Déclaration de la socket Server (private readonly TcpListener tcpServer). - Déclaration de la collection de sockets client (private static ArrayList ClientSockets). - Démarrage du serveur en mode écoute (public InitSocketServe -int port) tcpServer = new TcpListener(IPAddress.Any, port); tcpServer.Start(); TcpClient handler = tcpServer.AcceptTcpClient(); int i = ClientSockets.Add(new ClientHandler(handler)); ((ClientHandler)ClientSockets[i]).Start(). L’argument Port de InitSocketServer permet de définir le numéro du socket à utiliser (de 1 à 65535). La méthode Start permet d’ouvrir le socket en mode écoute. La méthode AcceptTcpClient permet d’accepter toute connexion entrante. Chaque connexion fournira alors un TcpClient spécifique (avec un processus spécifique). La liste ClientSockets permet de conserver toutes les connexions clients. La fermeture des connexions - Il suffit de balayer toutes les entrées du tableau et d’appeler la méthode de fermeture (Stop) foreach (Object Client in ClientSockets) - ( (ClientHandler) Client ).Stop(). - Vous pouvez faire de même pour détecter si un socket a été fermé par le distant en testant la méthode Connected () if (( (ClientHandler) Client ).Connected() == true). - La fermeture et suppression.

La partie du client


Le client ne doit s’occuper que de sa propre connexion au serveur, ce qui est une tâche beaucoup plus facile à réaliser. Les seuls paramètres à connaître sont l’adresse IP de l’ordinateur serveur et le port sur lequel le serveur est démarré : - IPEndPoint ipEnd = new IPEndPoint(IPAddress.Parse(“192.168.1.1”), 5001) - oSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp). - Réception de données asynchrone (public AsyncCallback CallBack). - Buffer de réception (byte[] dataBuffer = new byte[1]). - Connexion - oSocket.Connect(ipEnd). - If (oSocket.Connected). - Connecté - if (CallBack == null). La création d’une réception asynchrone CallBack = new AsyncCallback(OnDataReceived).
}
- Ecoute en asynchrone (state doit être de type object). oSocket.BeginReceive(dataBuffer, 0,dataBuffer.Length, SocketFlags.None, CallBack, State). La réception de données se fera automatiquement dans la méthode OnDataReceived : public void OnDataReceived(IAsyncResult asyn) La fermeture se fait par la méthode close
- if (oSocket.Connected) o- Socket.Close(); Le .Net Framework offre de nombreuses fonctionnalités simplifiant la gestion des sockets, aussi bien dans la gestion des connexions/déconnexions que dans l’échange de données par l’intermédiaire de processus séparés (threads) non bloquants.

Articles de la même catégorie Informatique

Les automates Siemens

Les automates siemens

Cela fait déjà plus de 30 années que siemens développe et s'occupe de la fabrication d’automates. cette expérience a mené vers la conceptualisation des automates de la série "simatic s7". par delà les générations, la compatibilité des appareils vous garantissent un investissement sûr pour des dizaines d'années. cet article vous montre un site d'automate de la marque siemens et vous donne un bref descriptif de quelques automates.
Tout sur le site AnalyseWeb.fr (fonctionnement, astuces, intérêt)

Tout sur le site analyseweb.fr (fonctionnement, astuces, intérêt)

Vous cherchez à améliorer le google ranking de votre site web, ainsi que sa visibilité sur le net ? avant de vous lancer tête baissée dans une campagne pharaonique de publicité, visitez le site analyseweb.fr. ce forum de discussions est spécialisé dans l'étude des trafics et de statistiques de site web. découvrez dans cet article tout ce que l'on peut trouver sur ce site.
Où acheter une batterie pour ordinateur Acer ?

Où acheter une batterie pour ordinateur acer ?

Pour acheter une batterie de pc acer, il est conseillé d'utiliser internet. on trouve de nombreux sites qui proposent des batteries. il faut alors comparer selon le modèle du pc. il est également possible de se rendre sur le site du constructeur pour obtenir une nouvelle pièce.
Présentation du logiciel CATIA de Dassault Systèmes

Présentation du logiciel catia de dassault systèmes

Le logiciel catia (conception assistée tridimensionnelle interactive appliquée) est un programme principalement utilisé dans l’industrie et la conception, qui va permettre d’effectuer de la cao 3d (conception assistée par ordinateur). ainsi, nous nous intéresserons, tout d’abord, à l’histoire de ce logiciel. puis, nous verrons quels domaines d’application il touche, et enfin, observerons qui l’utilise.