Maison développement back-end Tutoriel C#.Net Exemple de code de socket synchrone c# (Socket)

Exemple de code de socket synchrone c# (Socket)

Dec 22, 2016 pm 01:27 PM

Exemple de socket client synchrone

L'exemple de programme suivant crée un client qui se connecte au serveur. Le client est généré avec un socket synchrone, donc l'exécution de l'application client est suspendue jusqu'à ce que le serveur renvoie une réponse. L'application envoie une chaîne au serveur puis affiche la chaîne renvoyée par le serveur sur la console.

C#
en utilisant System;
en utilisant System.Net;
en utilisant System.Net.Sockets;
en utilisant System.Text;
classe publique SynchronousSocketClient {
public; static void StartClient() {
// Tampon de données pour les données entrantes
byte[] bytes = new byte[1024];
// Connectez-vous à un appareil distant
try {
// Établit le point de terminaison distant pour le socket.
// Cet exemple utilise le port 11000 sur l'ordinateur local
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName())
IPAddress ipAddress = ipHostInfo.AddressList. [0];
IPEndPoint remoteEP = new IPEndPoint(ipAddress,11000);
// Créer un socket TCP/IP
Socket sender = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp );
// Connectez le socket au point de terminaison distant.
try {
sender.Connect(remoteEP); }",
sender.RemoteEndPoint.ToString());
// Encodez la chaîne de données dans un tableau d'octets.
byte[] msg = Encoding.ASCII.GetBytes("Ceci est un test// Envoyer les données via le socket.
int bytesSent = sender.Send(msg);
// Recevoir la réponse de l'appareil distant.
int bytesRec = sender. Recevoir(bytes);
Console.WriteLine("Echoed test = {0}",
Encoding.ASCII.GetString(bytes,0,bytesRec)); sender.Shutdown(SocketShutdown.Both);
sender.Close();
} catch (ArgumentNullException ane) {
Console.WriteLine("ArgumentNullException : {0}",ane.ToString());
} catch (SocketException se) {
Console.WriteLine("SocketException : {0}",se.ToString());
} catch (Exception e) {
Console.WriteLine(" Exception inattendue : {0}", e.ToString());
}
} catch (Exception e) {
Console.WriteLine( e.ToString());
}
}
public static int Main(String[] args) {
StartClient();
return 0;
}
}
Exemple de socket de serveur de synchronisation L'exemple de programme suivant crée un serveur qui reçoit les demandes de connexion des clients. Le serveur est généré avec un socket synchrone,
suspendant ainsi l'exécution de l'application serveur en attendant une connexion du client. L'application reçoit une chaîne du client,
affiche la chaîne sur la console, puis renvoie la chaîne au client. La chaîne provenant du client doit contenir la chaîne "",
pour signaler la fin du message.








C#
Copier le code

en utilisant System
en utilisant System.Net ;
using System.Net.Sockets;
using System.Text;
public class SynchronousSocketListener {
// Données entrantes du client
public static string data = null; static void StartListening() {
// Tampon de données pour les données entrantes
byte[] bytes = new Byte[1024];
// Établit le point de terminaison local pour le socket
// Dns. .GetHostName renvoie le nom de l'
// hôte exécutant l'application
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];IPEndPoint localEndPoint = new IPEndPoint (ipAddress, 11 000 ); 
// Créez un socket TCP/IP . 
Socket listener = new Socket(AddressFamily.InterNetwork, 
SocketType.Stream, ProtocolType.Tcp ); 
// Liez le socket au point de terminaison local et  
// écoutez les connexions entrantes. 
essayez { 
listener.Bind(localEndPoint); 
listener.Listen(10); 
// Commencez à écouter les connexions. 
while (true) { 
Console.WriteLine("En attente d'une connexion..."); 
// Le programme est suspendu en attente d'une connexion entrante. 
Socket handler = listener.Accept(); 
données = null ; 
// Une connexion entrante doit être traitée. 
while (true) { 
bytes = new byte[1024] ; 
int bytesRec = handler.Receive(bytes); 
data  = Encoding.ASCII.GetString(bytes,0,bytesRec); 
if (data.IndexOf("") > -1) { 
break; 


// Afficher les données sur la console. 
Console.WriteLine( "Texte reçu  : {0}", data); 
// Répercuter les données au client. 
byte[] msg = Encoding.ASCII.GetBytes(data); 
handler.Send(msg); 
handler.Shutdown(SocketShutdown.Both); 
handler.Close(); 

} catch (Exception e) { 
Console.WriteLine(e.ToString()); 

Console.WriteLine("nAppuyez sur ENTER pour continuer..."); 
Console.Read(); 

public static int Main(String[] args) { 
StartListening(); 
retour 0 ; 

 以上就是c#(Socket)同步套接字代码示例的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Active Directory avec C# Active Directory avec C# Sep 03, 2024 pm 03:33 PM

Guide d'Active Directory avec C#. Nous discutons ici de l'introduction et du fonctionnement d'Active Directory en C# ainsi que de la syntaxe et de l'exemple.

Générateur de nombres aléatoires en C# Générateur de nombres aléatoires en C# Sep 03, 2024 pm 03:34 PM

Guide du générateur de nombres aléatoires en C#. Nous discutons ici du fonctionnement du générateur de nombres aléatoires, du concept de nombres pseudo-aléatoires et sécurisés.

Modificateurs d'accès en C# Modificateurs d'accès en C# Sep 03, 2024 pm 03:24 PM

Guide des modificateurs d'accès en C#. Nous avons discuté de l'introduction Types de modificateurs d'accès en C# ainsi que d'exemples et de résultats.

Vue Grille de données C# Vue Grille de données C# Sep 03, 2024 pm 03:32 PM

Guide de la vue Grille de données C#. Nous discutons ici des exemples de la façon dont une vue de grille de données peut être chargée et exportée à partir de la base de données SQL ou d'un fichier Excel.

Modèles en C# Modèles en C# Sep 03, 2024 pm 03:33 PM

Guide des modèles en C#. Nous discutons ici de l'introduction et des 3 principaux types de modèles en C# ainsi que de ses exemples et de l'implémentation du code.

Sérialisation C# Sérialisation C# Sep 03, 2024 pm 03:30 PM

Guide de sérialisation C#. Nous discutons ici de l'introduction, des étapes de l'objet de sérialisation C#, du fonctionnement et de l'exemple respectivement.

Nombres premiers en C# Nombres premiers en C# Sep 03, 2024 pm 03:35 PM

Guide des nombres premiers en C#. Nous discutons ici de l'introduction et des exemples de nombres premiers en c# ainsi que de l'implémentation du code.

Services Web en C# Services Web en C# Sep 03, 2024 pm 03:32 PM

Guide des services Web en C#. Nous discutons ici d'une introduction aux services Web en C# avec l'utilisation de la technologie, ses limitations et des exemples.

See all articles