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

Forum Windows : tout ce qu'il faut savoir

Forum windows : tout ce qu'il faut savoir

Supprimer des dossiers ou des fichiers. pour supprimer un dossier ou un fichier , la procédure est la même. dans les deux cas, l'élément sera préalablement placé dans la corbeille.
La gamme d'ordinateur ACER Aspire

La gamme d'ordinateur acer aspire

Acer était le troisième fabricant d’ordinateurs mondial en 2007. cette place lui est revenue non seulement pour l’excellence des pc acer, mais surtout pour son omniprésence sur le marché des ordinateurs portables. la gamme aspire est la gamme la plus large de la marque sous son propre label. découvrons-la dans toute son étendue.
Quels sont les plus petits ordinateurs portables ?

Quels sont les plus petits ordinateurs portables ?

Les plus petits ordinateurs portables sont communément appelés "notebook" ou "netbook", ils sont très pratiques à transporter. en effet, la taille de leur écran est relativement petite (environ 10"). ils coutent également peu cher, mais ils disposent également de moins de ressources. ces petits portables seront plus généralement utilisés pour faire de la bureautique (prise de cours pour les étudiants, etc.), ou pour aller sur internet.