| Autor |
Beitrag |
Hux
      
Beiträge: 171
|
Verfasst: Sa 27.01.07 16:16
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.
Zuletzt bearbeitet von Hux am So 28.01.07 22:23, insgesamt 1-mal bearbeitet
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: 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...  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.
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
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Hux 
      
Beiträge: 171
|
Verfasst: 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
      
Beiträge: 2145
WinXP Prof SP2, Ubuntu 9.04
C/C++(Code::Blocks, VS.NET),A51(Keil),Object Pascal(D2005PE, Turbo Delphi Explorer) C# (VS 2008 Express)
|
Verfasst: 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
_________________ Programmers never die, they just GOSUB without RETURN
|
|
Raffo
      
Beiträge: 300
|
Verfasst: 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
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: 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 
      
Beiträge: 171
|
Verfasst: 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
      
Beiträge: 300
|
Verfasst: 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 
      
Beiträge: 171
|
Verfasst: 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
      
Beiträge: 2453
Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
|
Verfasst: So 28.01.07 16:39
Huhu Hux
Da das Topic hier nun nicht mehr allzuviel mit einem Ping zu tun hat (eigentlich ja auch nie hatte  ) wärs nett, wenn du den Titel anpassen könntest, dass andere auch wissen, worums hier eigentlich geht
Vielen Dank,
raziel
_________________ JSXGraph
|
|
basti_1984
      
Beiträge: 104
Linux, Win Xp, Win 2000
Delphi, C, C++, PHP,
|
Verfasst: Mo 29.01.07 12:52
|
|
Hux 
      
Beiträge: 171
|
Verfasst: 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.
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 29.01.07 16:49
Moin!
Hux hat folgendes geschrieben: | | Ich hab mir schon die BasicClientServer Demo angeschaut und bei mir tut es. |
Meinst du das hier?  Oder was anderes?
Hux hat folgendes geschrieben: | | Dann hab ich es an einem Kumpel verschickt und er konnte mir aber keine verbindung zu mir herstellen. |
Sofern du das gelinkte Tut meinste, dann bist du entweder am Router-Port-Forwarding oder an der Firewall des Server-Computers gescheitert. Also: zum Test Firewall auf dem Server-PC deaktivieren (oder eben nur den Port freigeben) und - falls ein Router im Einsatz ist - in der Anleitung nachlesen, wie man ein Portforwarding (heißt manchmal auch "virtual Server") einrichtet. Dann gibt es eigentlich keinen Grund mehr, warum das nicht klappen sollte.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
Zuletzt bearbeitet von Narses am Mo 18.02.08 02:38, insgesamt 1-mal bearbeitet
|
|
Raffo
      
Beiträge: 300
|
Verfasst: 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.
|
|
|