Produktebreich

 
Kontakt| Impressum
   
5 TCP-IP Steuerelemente

 

5.1 Allgemeines

5.2 Welche Ereignisse stehen zur Verfügung?

5.3 Mit wenigen Handgriffen zu einer TCP-IP-fähigen Anwendung

5.5 Für wen eignet sich das TCP-IP Steuerelement besonders?

5.6 Preis

5.7 Versand

5 TCP-IP Steuerelemente

5.1 Allgemeines

Die TCP-IP Steuerelemente ermöglichen den Aufbau einer Netzwerkverbindung unter Anwendung des TCP-IP-Protokolls zwischen zwei PC-Systemen oder Mikrocontroller-Anwendungen. Die Steuerelemente bauen auf der bei Visual Studio™ .net mitgelieferten Socket-Klasse auf. Implementiert ist ein Steuerelement welches als Client-Socket (=Steuerlement ClientSocket) und ein Steuerelement welches als Server-Socket (=Steuerelement ServerSocket) arbeitetet. Sie wurden dahingehend entwickelt, dass die Anwendung möglichst einfach und rasch implementiert werden kann.


Abbildung 5.1: Beispiel für einen möglichen Einsatz der Steuerelemente „ClientSocket“ und „ServerSocket“

5.2 Welche Ereignisse stehen zur Verfügung

5.2.1 Ereignisse von ClientSocket

Nr Ereignis Beschreibung
0 OnConnect Wird aufgerufen, wenn versucht wird, eine Verbindung aufzubauen
1 OnConnected Wird aufgerufen, wenn eine Verbindung erfolgreich aufgebaut wurde
2 OnReceive Wird aufgerufen, wenn neue Daten zum Auslesen bereitstehen. Die Daten werden in einem Byte-Puffer übergeben.
3 OnReceiveText Wird aufgerufen, wenn neue Daten zum Auslesen bereitstehen. Die Daten werden als String übergeben.
4 OnSendText Wird aufgerufen, wenn eine Zeichenkette an den Empfänger gesendet wurden
5 OnSend Wird aufgerufen, wenn Daten in einem Byte-Puffer an den Empfänger gesendet wurden
6 OnDisconnect Wird aufgerufen, wenn versucht wird, eine Verbindung zu trennen
7 OnDisconnect Wird aufgerufen, wenn eine Verbindung erfolgreich getrennt wurde
8 OnError Wird aufgerufen, wenn bei der Kommunikation bzw. bei der Bearbeitung ein Fehler auftrat.
9 OnConnectionParamsChanged Wird aufgerufen, wenn die Verbindungsparameter wie IP-Adresse oder Portnummer geändert wurden

Abbildung 5.2: Ereignsisbehandlungsroutinen von „ClientSocket“

5.2.2 Ereignisse von ServerSocket
Nr Ereignis Beschreibung
0 OnClientHasConnected Wird aufgerufen, wenn zwischen dem Server und einem Client eine Verbindung aufgebaut wurde
1 OnClientHasDisconnected Wird aufgerufen, wenn eine Verbindung zwischen dem Server und einem Client getrennt wurde
2 OnReceive Wird aufgerufen, wenn neue Daten von einem Client zum Auslesen bereit stehen. Die Daten können aus einem Byte-Puffer ausgelesen werden.
3 OnReceiveText Wird aufgerufen, wenn neue Daten von einem Client zum Auslesen bereit stehen. Die Daten können als String ausgelesen werden.
4 OnError Wird aufgerufen, wenn bei der Kommunikation bzw. bei der Bearbeitung ein Fehler auftrat.
5 OnConnectionParamsChanged Wird aufgerufen, wenn der Verbindungsparameter Portnummer geändert wurde

Abbildung 5.3: Ereignisbehandlungsroutinen von „ServerSocket”

Zum Senden von Daten stehen bei beiden Steuerelementen die Routinen SendData, die entweder eine Zeichenkette als String oder einen Byte-Puffer als zu sendende Daten übernehmen.

5.2.3 Beispielcode für eine TextDataReceived

private void clientSocket1_ReceiveTextDataEvent(string data, string remoteID)

{

listBox1.Items.Add("Ereignis " + data + " RemoteID " + remoteID);

}

Abbildung 5.4: Beispielcode für die Ereignisbehandlungsroutine „ReceivedTextData“

5.2.4 Beispielcode für das Senden von Daten mit dem SocketClient

Um eine Zeichenkette an einen Server zu senden, verwenden sie einfach die Routine SendData. Fügen sie ihrem Programmcode dazu die Programmzeile wie in Abbildung 5.4 dargestellt hinzu.

{
….

clientSocket1.SendData(„Hello Server, how are you?“);


}

Abbildung 5.5: Beispielcode für das Senden einer Zeichenkette mit Steuerelement „ClientSocket“

Alternativ kann der Routine SendData auch ein Byte-Puffer übergeben werden.

5.3 Mit wenigen Handgriffen zu einer TCP-IP-fähigen Anwendung

Von hier aus gelangen sie zu einem Beispiel an dem gezeigt wird, wie man mit wenigen Handgriffen eine TCP-IP-fähiges Client-Programm erstellt.

Nachfolgend werden die Schritte beschrieben, wie man mit Hilfe des Steuerelementes "ClientSocket" in kurzer Zeit eine Verbindung zu einem anderen Rechnersystem, z.B. einem Tcp-fähigen Mikrocontroller, der als Tcp-Server arbeitet, aufbaut und Daten austauscht.

5.3.1 Schritt 1: Neues C#-Projekt anlegen

  • legen sie eine neues C#-Projekt (Windows-Anwendung) an

5.3.2 Schritt 2: TCP-IP Steuerelement einbinden

  1. Add Reference

  2. Browse Reference

  3. Select Reference

  4. Click OK

5.3.3 Schritt 3: Steuerelement benutzen

  1. ziehen sie das Steuerelement ClientSocket in das leere Formular.

  2. legen sie im Eigenschaften-Dialog unter Hostname die IP-Adresse (z.B. „10.1.1.1“) des PC-Systems fest, mit dem sie kommunizieren wollen. Legen sie weiter fest über welchen Port (z.B. 1234) die Kommunikation stattfinden soll.

5.3.4 Schritt 4: Formular designen

  1. Fügen sie dem Formular einen Schaltknopf hinzu und benennen sie ihn „Verbinden“.

  2. Fügen sie dem Formular einen Schaltknopf hinzu und benennen sie ihn „Senden“.

  3. Fügen sie dem Formular einen Schaltknopf hinzu und benennen sie ihn „Verbindung schliessen“.

  4. Fügen sie dem Formular eine Listbox hinzu und benennen sie diese „lboxReceive“.

5.3.5 Schritt 5: Implementierung der Schaltlogik

  1. Führen sie auf dem Formular einen Doppelclick auf den Schaltknopf „Verbinden“ aus und fügen sie die Codezeilen: clientSocket1.Connect(); hinzu.

  2. Führen sie auf dem Formular einen Doppelclick auf den Schaltknopf „senden“ aus und fügen sie die Codezeilen: clientSocket1.SendText(„Hallo Welt“); hinzu.

  3. Führen sie auf dem Formular einen Doppelclick auf den Schaltknopf „verbinden“ aus und fügen sie die Codezeilen: clientSocket1.Disconnect(); hinzu.

5.3.6 Schritt 6: Implementierung der Ereignisse

  1. Wechseln sie im Eigenschaften-Dialog für des TCP-IP Steuerelement auf das Register Ereignisse. Führen sie einen Doppelclick auf das Ereignis „OnConnected““ aus und fügen in die Ereignisroutine die Codezeilen: listBox1.Items.Add(„Host has successful connected“); clientSocket1.Connect(); hinzu.

  2. Wechseln sie im Eigenschaften-Dialog für das TCP-IP Steuerelement auf das Register Ereignisse. Führen sie einen Doppelclick auf das Ereignis „OnReceiveTextData““ aus und fügen in die neue Ereignisroutine die Code¬zeilen: listBox1.Items.Add(„data received “ + data); hinzu.

  3. Wechseln sie im Eigenschaften-Dialog für das TCP-IP Steuerelement auf das Register Ereignisse. Führen sie einen Doppelclick auf das Ereignis „OnError““ aus und fügen in die neue Ereignisroutine die Codezeilen: listBox1.Items.Add(„Error “ + ErrorStr); hinzu.

5.3.7 Schritt 7: Anwendung testen

Wenn sie alle diese Schritte ausgeführt haben, dann können sie die Anwendung nun starten. Das Programm präsentiert sich dabei wie in Abbildung 5.6. Wie einfach ein einfacher Tcp-Client aussieht, kann anhand dieses Beispielcodes betrachtet werden. Den Beispielcode für den Socketclient können sie hier herunterladen.

Im dargestellten Beispiel kommuniziert der Client mit einem im Netzwerk befindlichen Mikrocontroller. Der Mikrocontroller hat dabei die IP-Adresse 10.1.1.3. Die Kommunikation erfolgt über das Port 1111. Nach dem Drücken der "Connect"-Taste erreicht das Client-Programm das Ereignis "onConnected", welches signalisiert, dass die Verbindung erfolgreich aufgebaut wurde. Durch Drücken der Taste "Send "$002" wird die Zeichenkette "$002" an den Mikrocontroller gesendet. Dieser interpretiert den Befehl als "GetTime"-Befehl und liefert die aktuelle Uhrzeit des Mikrocontrollers zurück. Abschliessend wird die Verbindung geschlossen.

Abbildung 5.6: Einfacher Tcp-Client, der mit einem Mikrocontroller kommuniziert

Ein detaillierter ausgearbeitetes Beispiel eines Clientprogramms finden sie hier.

5.4 Was erhalten sie mit dem Kauf des TCP-IP Steuerelementes?

Mit dem Kauf des TCP-IP Steuerelementes erhalten sie eine dll (Dynamic Link Library), die sie in die Toolbox der Entwicklungsumgebung von Visual Studio aufnehmen können. Mit dem TCP-IP Steuerelement sind sie damit in der Lage auf einfache Weise eine TCP-IP zwischen zwei PC-Systemen oder Mikrocontroller aufzubauen und Daten als Text oder im Binärformat zu übertragen. Im Lieferumfang sind enthalten:

  • Das TCP-IP Steuerelement als dll

  • eine kurze Beschreibung der wesentlichen Routinen sowie

  • wie Beispielanwendungen in denen die wesentlichen Funktionen und ihre Anwendung demonstriert werden.

Der Kauf berechtigt sie das Steuerelement in ihren Projekten uneingeschränkt einzusetzen. Eine Lizenz hat Gültigkeit für einen Firmenstandort (Ort an dem das Unternehmen steht).

5.5 Für wen eignet sich das TCP-IP Steuerelement besonders?

  • wenn sie noch nicht mit der Netzwerkprogrammierung vertraut sind

  • für einfache Netzwerk-Projekte bei denen eine „Standard-Kommunikation“ d.h. ausreicht

  • wenn eine TCP-IP Verbindung in sehr kurzer Zeit implementiert werden soll

5.6 Preis

Für die unter Punkt 5.3 beschriebenen Positionen Euro 45.-.

Artikelnummer Bezeichnung Preis Bestellung
DL01-2005-001 Preis für den TCP-Clientsocket Euro 25.-  
DL02-2005-002 Preis für den TCP-Serversocket Euro 35.-  
DL02-2005-003 Preis für den TCP-Clientsocket und TCP-Serversocket Euro 50.-  
 

5.7 Versand

Der Versand erfolgt als downloadbares Archiv im zip-Format. Es entfallen deshalb keine Versandkosten. Alternativ können sie auch eine CD anfordern (zusätzlich Euro 5.- innerhalb von Österreich, Versand ins Ausland nach Aufwand).

Impressum | Haftungsausschluss

Version 1.0, ©Gerhard Burger 2004-2013, alle Rechte vorbehalten, letzte Änderung 09.11.2013