<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Synchrone_Kommunikation</id>
	<title>Synchrone Kommunikation - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Synchrone_Kommunikation"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Synchrone_Kommunikation&amp;action=history"/>
	<updated>2026-06-27T07:01:45Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Synchrone_Kommunikation&amp;diff=265400&amp;oldid=prev</id>
		<title>imported&gt;Neutronstar2 am 13. August 2023 um 21:50 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Synchrone_Kommunikation&amp;diff=265400&amp;oldid=prev"/>
		<updated>2023-08-13T21:50:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Belege|Weiterführende Fachliteratur fehlt}}&lt;br /&gt;
Unter &amp;#039;&amp;#039;&amp;#039;synchroner Kommunikation&amp;#039;&amp;#039;&amp;#039; versteht man in der [[Informatik]] und [[Rechnernetz|Netzwerktechnik]] einen Modus der [[Interprozesskommunikation|Kommunikation]], bei dem die Kommunikationspartner ([[Prozess (Computer)|Prozesse]]) beim Senden oder beim Empfangen von [[Daten]] immer [[Synchronisation|synchronisieren]], also &amp;#039;&amp;#039;warten&amp;#039;&amp;#039; (&amp;#039;&amp;#039;blockieren&amp;#039;&amp;#039;), bis die Kommunikation abgeschlossen ist. Wird sowohl beim Senden als auch beim Empfangen gewartet (der Sender stellt also eine &amp;#039;&amp;#039;Anfrage&amp;#039;&amp;#039; und wartet auf Antwort), so entspricht das einem &amp;#039;&amp;#039;[[Rendezvous (Informatik)|Rendezvous]]&amp;#039;&amp;#039; der beiden beteiligten Prozesse.&lt;br /&gt;
&lt;br /&gt;
Das Blockieren des Prozesses wird intern durch geeignete Mechanismen zur [[Prozesssynchronisation]] erreicht. Damit geht die Synchronisierung über die reine [[Transaktion (Informatik)|Transaktionsorientierung]] hinaus. Das Senden und Empfangen von Daten ohne Blockieren des Prozesses bezeichnet man als [[Asynchrone Kommunikation]]. Auch diese lässt einen transaktionsorientierten Betrieb zu.&lt;br /&gt;
&lt;br /&gt;
Die synchrone Kommunikation sollte nicht mit dem Begriff der &amp;#039;&amp;#039;[[synchrone Datenübertragung|synchronen Datenübertragung]]&amp;#039;&amp;#039; verwechselt werden, der sich auf [[Medienzugriffsverfahren]] bezieht.&lt;br /&gt;
&lt;br /&gt;
== Synchroner Empfangsmodus ==&lt;br /&gt;
Das Warten auf den &amp;#039;&amp;#039;Empfang&amp;#039;&amp;#039; (blockierender Empfang) von Daten nennt man auch &amp;#039;&amp;#039;„blocking read“&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;„synchronous receive“&amp;#039;&amp;#039;. Es entspricht dem Verhalten eines Konsumenten einer [[Warteschlange (Datenstruktur)|Warteschlange]] bzw. dem Verhalten eines Prozessors eines [[Datenstrom]]s: Der Prozess besteht im Wesentlichen aus einer [[Schleife (Programmierung)|Schleife]], die wartet, bis Daten vorhanden sind, diese verarbeitet und dann wieder wartet. Die Verarbeitung der empfangenen Daten kann auch darin bestehen, dass &amp;#039;&amp;#039;Behandlungsroutinen&amp;#039;&amp;#039; für bestimmte Arten von Daten aufgerufen werden. Das entspricht der [[Semantik]] einer [[Ereignis (Programmierung)|Ereignisbehandlung]].&lt;br /&gt;
&lt;br /&gt;
Beim nicht-blockierenden Empfang (&amp;#039;&amp;#039;„non-blocking read“&amp;#039;&amp;#039;, &amp;#039;&amp;#039;„asynchronous receive“&amp;#039;&amp;#039;) gibt dagegen der Befehl zum Empfang von Daten einfach einen Fehler zurück, wenn keine Daten im [[Puffer (Informatik)|Eingangspuffer]] liegen. Der Prozess würde dann einfach in regelmäßigen Abständen prüfen, ob Daten vorliegen, und sich sonst anderen Aufgaben widmen (zum Beispiel der Kommunikation mit einem dritten Prozess).&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Modus zum Empfang von Daten sind [[Guarded Statements]] nach [[Leslie Lamport]]: Hier wartet der Empfänger nicht auf Daten von einem bestimmten, sondern von &amp;#039;&amp;#039;irgendeinem&amp;#039;&amp;#039; Datenstrom, so dass ein einzelner Prozess mehrere Datenströme parallel bedienen kann. Der Empfang ist dann synchron in Bezug auf ein &amp;#039;&amp;#039;„Bündel“&amp;#039;&amp;#039; von anderen Prozessen, nicht in Bezug auf einen einzelnen Prozess. Diese Technik wird vor allem in [[Server]]n verwendet.&lt;br /&gt;
&lt;br /&gt;
== Synchrone Anfrage ==&lt;br /&gt;
Häufig werden Daten im Sinne einer &amp;#039;&amp;#039;Anfrage&amp;#039;&amp;#039; übertragen ([[Client-Server-System]]), auf die sofort eine Antwort erwartet wird. In diesem Fall sendet der [[Client]]-Prozess eine Anfrage und &amp;#039;&amp;#039;wartet&amp;#039;&amp;#039; (&amp;#039;&amp;#039;blockiert&amp;#039;&amp;#039;) so lange, bis eine Antwort vom [[Server]] kommt – man spricht auch von &amp;#039;&amp;#039;eng gekoppelten Prozessen&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;[[Rendezvous (Informatik)|Rendezvous]]&amp;#039;&amp;#039;-Semantik. Das Ausbleiben einer Antwort wird dann nach einer gewissen Zeit ([[Timeout (Netzwerktechnik)|Timeout]]) als Fehler betrachtet. Häufig wird jedoch einige Male eine erneute Übertragung der Anfrage versucht (&amp;#039;&amp;#039;retry&amp;#039;&amp;#039;), bevor endgültig ein Fehler gemeldet wird, besonders wenn der zugrundeliegende [[Kanal (Informationstheorie)|Kanal]] &amp;#039;&amp;#039;unzuverlässig&amp;#039;&amp;#039; ist.&lt;br /&gt;
&lt;br /&gt;
Diese [[Semantik]] wird von den gängigen [[Client-Server]]-[[Netzwerkprotokoll|Protokollen]] verwendet, und für den direkten [[Funktion (Programmierung)|Funktionsaufruf]] in anderen Prozessen ([[Remote Procedure Call]]). Wird als Antwort einer Anfrage nur eine &amp;#039;&amp;#039;Bestätigung&amp;#039;&amp;#039; erwartet, so kann man den Ablauf als ein einfaches &amp;#039;&amp;#039;blockierendes Versenden&amp;#039;&amp;#039; betrachten.&lt;br /&gt;
&lt;br /&gt;
Eine Alternative zu der synchronen [[Semantik|Aufrufsemantik]] wäre es, gar keine Antwort zu erwarten. Dabei hängt es von der zugrundeliegenden [[Schichtenmodell|Netzwerkschicht]] ab, ob sichergestellt ist, dass der Empfänger die Daten tatsächlich erhalten hat. Im Allgemeinen ist diese Sicherheit aber nicht gegeben, besonders nicht bei einer Übertragung über ein [[Computernetzwerk|Netzwerk]].&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit ist die &amp;#039;&amp;#039;asynchrone Anfrage&amp;#039;&amp;#039;: Nach dem Versenden einer Nachricht arbeitet der Prozess zunächst weiter und prüft (möglicherweise neben anderen Tätigkeiten) immer wieder, ob [[Nachricht]]en von anderen Prozessen eingegangen sind. Diese Nachrichten werden dann bearbeitet, es wird nicht zwischen „Anfragen“ und „Antworten“ unterschieden. Dies nennt man auch eine &amp;#039;&amp;#039;lose Kopplung&amp;#039;&amp;#039; der Prozesse.&lt;br /&gt;
&lt;br /&gt;
== Kommunikation zwischen ICs ==&lt;br /&gt;
Bei der Kommunikation zwischen verschiedenen Chips spricht man von synchroner Kommunikation, wenn ein [[Clock-Signal]] benutzt wird, um Sender und Empfängersignal miteinander zu synchronisieren (um ein Auseinanderdriften in die Asynchronität zu vermeiden).&lt;br /&gt;
&lt;br /&gt;
Das Auseinanderdriften von Signalen kann auch über andere Strategien verhindert werden (z.&amp;amp;nbsp;B. [[Bitstuffing]]); dies wird aber meist bei asynchroner Kommunikation eingesetzt.&lt;br /&gt;
&lt;br /&gt;
== Beispiele für synchrone Kommunikationsvarianten ==&lt;br /&gt;
* [[Remote Method Invocation | RMI]]&lt;br /&gt;
* [[Remote Procedure Call | RPC]]&lt;br /&gt;
* [[http]]&lt;br /&gt;
&lt;br /&gt;
== Beispiele für synchrone Kommunikation zwischen Personen ==&lt;br /&gt;
Zur synchronen Kommunikation zählen z. B. folgende Kommunikationsformen bzw. -techniken:&lt;br /&gt;
* herkömmliche Telefonie (bspw. [[Mobilfunk]], [[Festnetz]]). In der [[IP-Telefonie]] kann bereits Asynchronität eintreten (bei geringer Qualität des Dienstes, [[QoS]]).&lt;br /&gt;
* Instant Messaging&lt;br /&gt;
* IRC-Chats&lt;br /&gt;
* Web-Chats&lt;br /&gt;
* Internet-Videokonferenzen&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Asynchrone Kommunikation]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rechnernetze]]&lt;br /&gt;
[[Kategorie:Rechnerarchitektur]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Neutronstar2</name></author>
	</entry>
</feed>