Heim Backend-Entwicklung C#.Net-Tutorial c# (Socket) synchrones Socket-Codebeispiel

c# (Socket) synchrones Socket-Codebeispiel

Dec 22, 2016 pm 01:27 PM

Beispiel für einen synchronen Client-Socket

Das folgende Beispielprogramm erstellt einen Client, der eine Verbindung zum Server herstellt. Der Client wird mit einem synchronen Socket erzeugt, sodass die Ausführung der Clientanwendung angehalten wird, bis der Server eine Antwort zurückgibt. Die Anwendung sendet eine Zeichenfolge an den Server und zeigt dann die vom Server zurückgegebene Zeichenfolge auf der Konsole an.

C#
using System.Net;
using System.Text;
public class SynchronousSocketClient static void StartClient() {
// Datenpuffer für eingehende Daten // Richten Sie den Remote-Endpunkt für den Socket ein.
// Dieses Beispiel verwendet Port 11000 auf dem lokalen Computer
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName())
IPAddress = ipHostInfo.AddressList [0];
IPEndPoint remoteEP = new IPEndPoint(ipAddress,11000);
/ Erstellen Sie einen TCP/IP-Socket
Socket sender = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
// Verbinden Sie den Socket mit dem Remote-Endpunkt.
Try {
sender.Connect(remoteEP);"Socket connected to {0 }",
sender.RemoteEndPoint.ToString());
// Kodieren Sie die Datenzeichenfolge in ein Byte-Array.
byte[] msg = Encoding.ASCII.GetBytes("Dies ist ein Test// Daten über den Socket senden.
int bytesSent = sender.Send(msg);
// Die Antwort vom Remote-Gerät empfangen.
int bytesRec = sender. Receive(bytes);
Console.WriteLine("Echoed test = {0}",
Encoding.ASCII.GetString(bytes,0,bytesRec));
/ Geben Sie den Socket frei 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(" Unerwartete Ausnahme: {0}", e.ToString());
}
} Catch (Exception e) {
Console.WriteLine( e.ToString());
}
}
public static int Main(String[] args) {
StartClient();
return 0;
}
Synchronisationsserver-Socket-Beispiel Das folgende Beispielprogramm erstellt einen Server das Verbindungsanfragen von Clients empfängt. Der Server wird mit einem synchronen Socket erzeugt,
wodurch die Ausführung der Serveranwendung angehalten wird, während auf eine Verbindung vom Client gewartet wird. Die Anwendung empfängt eine Zeichenfolge vom Client,
zeigt die Zeichenfolge auf der Konsole an und gibt die Zeichenfolge dann an den Client zurück. Die vom Client kommende Zeichenfolge muss die Zeichenfolge „“,
enthalten, um das Ende der Nachricht zu signalisieren.








C#
Code kopieren

mit System
mit System.Net;
using System.Net.Sockets;
using System.Text;
public class SynchronousSocketListener {
// Eingehende Daten vom Client
public static string data = null; static void StartListening() {
// Datenpuffer für eingehende Daten
byte[] bytes = new Byte[1024]// Richten Sie den lokalen Endpunkt für den Socket ein .GetHostName gibt den Namen des
// Hosts zurück, auf dem die Anwendung ausgeführt wird.
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress = ipHostInfo.AddressList[0];IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 11000); 
// Erstellen einen TCP/IP-Socket. 
Socket-Listener = neuer Socket(AddressFamily.InterNetwork, 
SocketType.Stream, ProtocolType.Tcp ); 
// Binden Sie den Socket an den lokalen Endpunkt und warten Sie auf eingehende Verbindungen. 
versuchen Sie es mit { 
listener.Bind(localEndPoint); 
listener.Listen(10); 
// Beginnen Sie, auf Verbindungen zu achten. 
while (true) { 
Console.WriteLine("Warten auf eine Verbindung..."); 
// Das Programm wird angehalten, während auf eine eingehende Verbindung gewartet wird. 
Socket handler = listener.Accept(); 
data = null; 
// Eine eingehende Verbindung muss verarbeitet werden. 
while (true) { 
bytes = new byte[1024]; 
int bytesRec = handler.Receive(bytes); 
data += Encoding.ASCII.GetString(bytes,0,bytesRec); 
if (data.IndexOf("") > -1) { 
break; 


// Zeige die Daten auf der Konsole an. 
Console.WriteLine( "Text empfangen : {0}", data); 
// Senden Sie die Daten an den Client zurück. 
byte[] msg = Encoding.ASCII.GetBytes(data); 
handler.Send(msg); 
handler.Shutdown(SocketShutdown.Both); 
handler.Close(); 

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

Console.WriteLine("nPress ENTER to continue..."); 
Console.Read(); 

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


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



Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

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

Leitfaden zu Active Directory mit C#. Hier besprechen wir die Einführung und die Funktionsweise von Active Directory in C# sowie die Syntax und das Beispiel.

Zufallszahlengenerator in C# Zufallszahlengenerator in C# Sep 03, 2024 pm 03:34 PM

Leitfaden zum Zufallszahlengenerator in C#. Hier besprechen wir die Funktionsweise des Zufallszahlengenerators, das Konzept von Pseudozufallszahlen und sicheren Zahlen.

Zugriffsmodifikatoren in C# Zugriffsmodifikatoren in C# Sep 03, 2024 pm 03:24 PM

Leitfaden zu den Zugriffsmodifikatoren in C#. Wir haben die Einführungstypen von Zugriffsmodifikatoren in C# zusammen mit Beispielen und Ausgaben besprochen.

C#-Serialisierung C#-Serialisierung Sep 03, 2024 pm 03:30 PM

Leitfaden zur C#-Serialisierung. Hier besprechen wir die Einführung, die Schritte des C#-Serialisierungsobjekts, die Funktionsweise bzw. das Beispiel.

C#-Datenrasteransicht C#-Datenrasteransicht Sep 03, 2024 pm 03:32 PM

Leitfaden zur C#-Datenrasteransicht. Hier diskutieren wir die Beispiele, wie eine Datenrasteransicht aus der SQL-Datenbank oder einer Excel-Datei geladen und exportiert werden kann.

Muster in C# Muster in C# Sep 03, 2024 pm 03:33 PM

Leitfaden zu Mustern in C#. Hier besprechen wir die Einführung und die drei wichtigsten Arten von Mustern in C# zusammen mit ihren Beispielen und der Code-Implementierung.

Primzahlen in C# Primzahlen in C# Sep 03, 2024 pm 03:35 PM

Leitfaden zu Primzahlen in C#. Hier besprechen wir die Einführung und Beispiele von Primzahlen in C# sowie die Codeimplementierung.

Fakultät in C# Fakultät in C# Sep 03, 2024 pm 03:34 PM

Leitfaden zur Fakultät in C#. Hier diskutieren wir die Einführung in die Fakultät in C# zusammen mit verschiedenen Beispielen und Code-Implementierungen.

See all articles