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

Comment programmer en java ? (guide pratique, tutoriaux, sites)

Comment programmer en java ? (guide pratique, tutoriaux, sites)

Java est considéré comme l’un des meilleurs langages de programmation. on peut apprendre ce langage grâce aux outils fournis par oracle sur son site, mais aussi grâce aux tutoriaux disponibles sur d’autres sites internet. des ressources diverses (sites, livres gratuits, magazines enligne, etc.) permettent d’étudier ce langage dans tous ses aspects : graphismes 2d, 3d, programmation de jeux vidéos.
Comment formater son disque dur ?

Comment formater son disque dur ?

Confronté à un système lent, qui ne répond plus à certaines actions, qui ne s'allume plus, etc... les problèmes informatiques peuvent être multiples et il est parfois nécessaire de formater son ordinateur pour retrouver un système d'exploitation normal. voyons comment procéder.
Les serveurs de la marque IBM

Les serveurs de la marque ibm

Ibm (international business machines) est une marque multinationale des technologies informatiques dont le siège est à armonk, dans l'état de new york. la compagnie a été fondée en 1911. ibm est spécialisée dans la conception des ordinateurs et des serveurs. dans le présent article on va voir quelques solutions proposées par ibm pour les opérations usuelles sur un réseau de serveurs.
Qu'est-ce qu’un disque dur à mémoire flash ?

Qu'est-ce qu’un disque dur à mémoire flash ?

Les disques durs à mémoire flash sont des disques durs utilisant une mémoire flash pour fonctionner. ils ont été créés dans les années 2000 et ils sont destinés à remplacer les disques durs actuels, utilisant une technologie encore trop fragile pour les utilisateurs et peu durable. dans cet article, nous vous présenterons les disques durs à mémoire flash.