Entwickler-Ecke

Netzwerk - Anzahl Buttonklicks an einen anderen PC übertragen


stefanc - Do 05.01.12 14:53
Titel: Anzahl Buttonklicks an einen anderen PC übertragen
Hallo,
Da ich relativ unerfahren in C# bin, wende ich mich deswegen an euch.
Ich habe folgendes Problem:

Ich habe eine Windows Forms-Anwendung erstellt welche mir anzeigt wie oft ein bestimmter Button geklickt wurde.
Nun möchte die Anzahl der jeweils geklickten Buttons an einen anderen Rechner übertragen.

Wie gesagt ich bin gerade am erlernen der Programmiersprache und habe deshalb null Ahnung von Socketprogrammierung etc.
Deshalb hoffe ich auf eure Hilfe.
Vielen Dank im voraus

mfg
stefan


Th69 - Do 05.01.12 17:35

Hallo und :welcome:

ich hoffe, dir ist klar, daß auf dem anderen Rechner dann auch ein entsprechendes Programm laufen muß?
Wenn ja, dann kannst du dies mit den Klassen aus dem Systems.Net.Sockets-Namensbereich, z.B. TcpClient und TcpListener, lösen - such einfach mal nach einem Tutorial dafür.

Aber als Anfänger solltest du vllt. eher erst mit Dateiein- und ausgabe beginnen.


stefanc - Do 05.01.12 18:22

Hallo und danke für deine rasche Antwort :)

Ja mir ist klar, dass der Zielrechner eine entsprechende Anwendung benötigt.
Ich habe bereits ein Tutorial bezüglich eines Chattes mit udp-Übertragung durchgemacht welches auch super mit dem Zielcomputer interagiert.
Mein größtes Problem ist derzeit die Konsole mit meiner Windows Forms-Anwendung zu verknüpfen.
Im Internet bin ich auf diese Methode gestossen (System.Diagnostics.Process.Start("anwendung.exe")) welche mir meine Konsole in Windows Forms öffnet. Jedoch kann ich nun nicht mehr den Chat ausführen. Weist du woran das liegen könnte?


danke für deine Unterstützung.


Th69 - Do 05.01.12 20:50

Hallo,

ist dein Konsolenprogramm der TCPClient (bzw. UDP), welcher die Daten überträgt?

Kannst du nicht einfach den Source (zum Senden) in dein WinForms-Projekt integrieren?


stefanc - Fr 06.01.12 13:19

Hallo,

Nein ich habe einfach versucht mein udp-chat programm mithilfe eines Buttons in Windows Forms aufzurufen und es auszuführen. Das funktioniert alles so gut und so weit, aber ich kann keine Nachrichten mehr senden.

Das mit den Source kapiere ich nicht ganz, hättest du da vielleicht einen Beispiel-Code?

Vielen Dank


Th69 - Fr 06.01.12 14:25

Hallo,

mit Source meinte ich den Quelltext deines UDP-Chat Programms (also daß du nicht mehr ein externes Programm aufrufen mußt, sondern du einfach von deinem WinForms-Programm aus die entsprechende Methode aufrufst - und du diese besser debuggen kannst ;-)


stefanc - Fr 06.01.12 14:33

Also kann ich den gesamten Quelltext, einfach in ein Button-Klick Ereigniss hineinkopieren?


Th69 - Fr 06.01.12 14:46

Besser ist es, du kopierst die Quellcodedatei aus deinem anderen Projekt in das WinForms-Projekt und fügst es dann zu deinem Projekt hinzu.
Dann erstellst du in deiner WinForm-Klasse eine Instanz der anderen Klasse und rufst dann dessen Methode(n) auf.

Du solltest von Anfang an beim Programmieren lernen, GUI und Logik voneinander zu trennen. Dazu kannst du dir auch mal meinen Artikel Kommunikation von 2 Forms [http://www.bitel.net/dghm1164/programming/Kommunikation_von_2_Forms.html] durchlesen.


stefanc - Fr 06.01.12 14:58

Danke für diesen Link.
Aber hier wird ja die Kommunikation von 2 Forms beschrieben.
Mein Problem ist aber die Kommunikation zwischen einer Form und einer Konsolen-Anwendung