Yogularm

Binary Tcp Client / Server

Ein TCP-Client und -Server für die Kommandozeile, die Daten byteweise übermitteln. Zu Beginn kann der Benutzer wählen, ob er sich mit einem bestehenden TCP-Server verbinden will oder ob ein neuer Server gestartet werden soll. Sobald die Verbindung hergestellt wurde, können Byte-Werte dezimal oder hexadezimal eingegeben werden. Empfangene Daten werden sofort in hexadezimaler, dezimaler und binärer Darstellung sowie dem zugehörigen ASCII-Zeichen angezeigt.

Bedienung

Auf die Frage

Client (c), server (s) or quit (q)?

kann mit einem der drei Kleinbuchstaben geantwortet werden.

Serverbetrieb

Gibt man s ein, wird nach dem Port für den zu startenden Server gefragt. Anschließend wartet das Programm auf die erste eingehende Verbindung und akzeptiert diese. Nun können Daten eingegeben und empfangen werden (siehe unten).

Beendet wird die Sitzung entweder durch Eingabe von q oder dadurch, dass der Client die Verbindung trennt. In beiden Fällen startet das Programm anschließend von vorne.

Clientbetrieb

Wird nach Programmstart c eingegeben, frägt das Programm sowohl nach Hostname (IP-Adresse) als auch dem Port, mit dem verbunden werden soll. Das Programm versucht dann, sich mit dem angegebenen Host unter dem angegebenen Port zu verbinden. Beendet wird die Sitzung auch hier durch Eingabe von q.

Aktive Sitzung

Ist die Verbindung hergestellt, können die zu sendenden Daten eingegeben werden. Jedes Kommando sendet dabei ein einzelnes Byte. Werden nur Ziffern angegeben, werden diese als Dezimalzahl interpretiert. Hexadezimalen Zahlen muss ein Dollarzeichen ($) oder die Zeichenkette 0x vorangestellt werden. Beispiele: 123, $FF, 0x20.

Empfängt das Programm Bytes von der Gegenstelle, werden diese zeilenweise angezeigt. Eine solche Zeile kann folgendermaßen aussehen:

Read: 7B  01111011  123  {

Der erste Wert ist die hexadezimale Darstellung, darauf folgt die Binärschreibweise, dann der dezimale Wert. Das letzte Zeichen ist das ASCII-Zeichen zum Byte.

Beendet wird die Sitzung durch Eingabe von q.

Download

BinaryTcp kann mit der .NET-Runtime oder mit Mono ausgeführt werden.