Entwickler-Ecke
Internet / Netzwerk - Daten an einen Computer schicken.
Hux - Sa 27.01.07 16:16
Titel: Daten an einen Computer schicken.
Moin Leutz!
Ich glaub die Ueberschrift sagt schon alles...
Ich moechte ein Programm schreiben welches reagiert, wenn ich angepingt werde.
Ich habe es schon mit den Indy Komponenten versucht und auch schon danach gegooglet..., kam aber nichts raus ...
Danke schonma im Vorraus fuer Antworten.
Greetz, Hux.
Narses - Sa 27.01.07 17:30
Moin!
Hux hat folgendes geschrieben: |
| Ich moechte ein Programm schreiben welches reagiert, wenn ich angepingt werde. |
Huah, das ist aber nicht einfach... :shock: Da bereits Teile des IP-Stacks (und damit das Betriebssystem) auf eine solche Anfrage antworten, wird dort wohl auch der ICMP-Port 0 gebunden sein (also ziemlich low-level). Ich habe keine Ahnung, wie man dem IP-Stack "erklärt", dass er nicht mehr für ICMP-Echo-Anfragen zuständig ist. :nixweiss:
Ansonsten könntest du noch entsprechende OS-Calls hooken oder per WinPCap nach ICMP-Paketen "lauschen" und das als Trigger verwenden... :? ob das mal den Aufwand lohnt... :?:
cu
Narses
Hux - Sa 27.01.07 19:57
Naja.., ok, glaub die Idee war doof *g
Ich wollte einfach nur eine Zahl/Buchstabe... o.Ä an einen anderen Computer schicken, damit das Programm dort reagiert und bestimmte Funktionen ausfuehrt..
Aber mit Ping wird das wohl nicht moeglich sein...
Gibt es denn andere Alternativen dazu ?
Greetz, Hux.
alias5000 - Sa 27.01.07 20:53
Haja, klar. Du hast die volle Auswahl
UDP, TCP,... ;)
Alle Netzwerkprogramme machen ja nichts anderes, als Daten zu verschicken ;)
Gruß
alias5000
Raffo - Sa 27.01.07 21:12
Ich denke, das Problem von Allem ist doch, das Du nicht unbedingt "durch" die Firewall kommst, es sei denn, du hast den ZIEL-Compi eh unter Kontrolle und machst Dir nen Port auf.
Nichtsdestotrotz ist es relativ einfach eine Client-Server Anwendung über TClientSocket und TServerSocket aufzubauen. (hier gibts massig Beispiele im Forum).
JayEff - Sa 27.01.07 21:28
Raffo hat folgendes geschrieben: |
| Nichtsdestotrotz ist es relativ einfach eine Client-Server Anwendung über TClientSocket und TServerSocket aufzubauen. (hier gibts massig Beispiele im Forum). |
Einfach, ja, aber sehr empfindlich. ich hab schon mal ein Beispielprogramm minimal abgewandelt, eine winzigkeit verändert, nichts, das für den übertragenden Code relevant gewesen wäre, schon passierte nix mehr. Hab die änderung rückgängig gemacht, nix. Seit dem hab ich keine lust mehr auf Netzwerkanwendungen.
Hux - Sa 27.01.07 21:59
alias5000 hat folgendes geschrieben: |
Haja, klar. Du hast die volle Auswahl
UDP, TCP,... ;)
Alle Netzwerkprogramme machen ja nichts anderes, als Daten zu verschicken ;)
Gruß
alias5000 |
Ja, ich wollte ma was mit TCP machen.
Aber funktioniert das auch uebers Internet oder nur im eigenen Netzwerk?
Ich hab mir schon die BasicClientServer Demo angeschaut und bei mir tut es.
Dann hab ich es an einem Kumpel verschickt und er konnte mir aber keine verbindung zu mir herstellen.
Greetz, Hux
Raffo - Sa 27.01.07 22:09
@JayEff, nur nicht aufgeben, wir haben alle mal klein angefangen. Nachdem ich vor 2 Jahren einen sehr guten Beispielcode (leider nicht hier im Forum) gefunden hatte, bin ich immer weiter gekommen (die Indy Beispiele selbst haben mir persönlich nicht weitergeholfen).
@alias5000
Erstmal am besten immer fürs eigene Netzwerk programmieren (Adresse "localhost" bzw. 127.0.0.1 = innerhalb des eigenen Computers, dann zum Clienten verbinden, wenn vorhanden). Bspw. ist meine lokale IP: 192.168.0.173, mein NetzCompi hat 192.168.0.223, also zu dem kann ich ohne Probleme verbinden.
Anders wirds, wenns ins Internet gehen soll. Wenn ich die IP meines Gegenübers habe und DIESER den Port (z.B. 5800) in seinem Router freigegeben hat, klappts auf Anhieb auch mit ihm.
Klingt einfach - ist es aber nicht - weil viele Kompoenenten ineinander greifen müssen, aber machbar ist (fast) alles, siehe das bekannte Sykpe, das auch mit Delphi programmiert wurde (ok, hier ist der Trick, das die ja noch ihren Server als Helper einsetzen).
Hux - Sa 27.01.07 22:37
Ich habs jetzt mal so gemacht, dass das Serverprogramm die IP und den benutzten Port auf einen WebSprace hochlaedt und der Client es sich von dort dann runterlaedt und sich dann mit dem Server verbindet.
BTW...Kennt einer ein gutes Tutorial zu der idTCP Komponente, bzw. zu Indys allgemein?
Ich hab mir das von dsdt.info mal angeschaut aber weitergeholfen hat mir das nicht wirklich da dort alles sehr knapp beschrieben ist.
Greetz, Hux.
raziel - So 28.01.07 16:39
Huhu Hux :wave:
Da das Topic hier nun nicht mehr allzuviel mit einem Ping zu tun hat (eigentlich ja auch nie hatte :mrgreen:) wärs nett, wenn du den Titel anpassen könntest, dass andere auch wissen, worums hier eigentlich geht ;)
Vielen Dank,
raziel
basti_1984 - Mo 29.01.07 12:52
raziel hat folgendes geschrieben: |
Huhu Hux :wave:
Da das Topic hier nun nicht mehr allzuviel mit einem Ping zu tun hat (eigentlich ja auch nie hatte :mrgreen:) wärs nett, wenn du den Titel anpassen könntest, dass andere auch wissen, worums hier eigentlich geht ;)
Vielen Dank,
raziel |
Hallo du solltest vielleicht erwähnen, mit welchem System du arbeiten möchtest. Linux / Windows, des weiteren solltest du bedenken, je nach größe der Pakete diie du ins netz schickst dein traffic ziemlich hoch geht und somit eine verbindung zu einem anderen rechner / bzw. ins internet sehr langsam werden kann.
schreib mal was das program genau machen soll. am einfachsten wäre es dein programm übers netzwerk zu starten und ihm einige parameter zu übergeben.
Hux - Mo 29.01.07 16:31
Hallo !
Auf dem Computer auf dem es ausgefuehrt werden soll, ist Windows 98 installiert.
Das Programm soll Zahlen o.Ä von einem anderen Computer erhalten und diese dann auswerten.
Die Pakete die ich ins Internet schicke werden sicherlich nicht sehr groß sein da es nur eine Zahl ist (Also 1 Byte).
Greetz, Hux.
Raffo - Mo 29.01.07 16:52
Wenn Dir die Firewall nix ausmacht, dann versuch doch einfach mal die Indy Demos (falls vorhanden?) - da gibts jedenfalls einfache Client-Server Beispiele. Ansonsten würde ich Dir raten, eben nach diesem Stichwort (Client Server) hier im Forum zu suchen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!