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

Que faut-il comparer entre les ordinateurs portables pour en choisir un ?

Que faut-il comparer entre les ordinateurs portables pour en choisir un ?

La taille et la portabilité d'un ordinateur portable sont les caractéristiques les plus prises en compte pour déterminer le choix et la décision d'achat. Comme son homologue de bureau, un ordinateur portable rend un grand service car, comme son nom l'indique, il est transportable partout : travail, vacances, transports en commun... Voici un guide pour choisir le portable adapté à vos besoins.
Logiciels d'occasion et licences : que dit la loi ?

Logiciels d'occasion et licences : que dit la loi ?

Les logiciels sont vendus avec une licence d’exploitation qui a été générée par le fabricant. Quand vous achetez un logiciel d’occasion, vous pouvez vous demander si la licence vous sera transmise avec. La loi reste assez floue sur ce sujet et il est difficile de s’y retrouver. Avant de faire votre achat renseignez-vous, en lisant cet article, vous trouverez vos réponses.
Guide d'achat : l'adaptateur TNT-USB (bons plans)

Guide d'achat : l'adaptateur TNT-USB (bons plans)

Si vous souhaitez pouvoir regarder la télévision directement sur votre ordinateur sans avoir à passer par Internet, il faut acheter un adaptateur TNT qui se branche sur USB. Cependant, il existe plusieurs types d'adaptateur pour ordinateur ainsi que des prix très différents selon la marque et le modèle. Nous vous présentons donc ici les modèles d'adaptateurs TNT-USB ainsi que des exemples de prix.
Où trouver des CD vierges au meilleur marché ? (adresses, comparatif de prix)

Où trouver des CD vierges au meilleur marché ? (adresses, comparatif de prix)

Les meilleurs prix en matière de CD vierges se trouvent, en majeure partie, sur internet, grâce aux promotions régulières et aux prix d'origine déjà bas. De nombreux magasins proposent également des CD vierges à bas prix, mais il est impératif, dans tous les cas, de s'assurer de la qualité des produits achetés pour éviter les mauvaises surprises et les fausses économies.