![]() |
Daten übers Internet versenden
Hallo,
ich arbeite gerade daran Daten (nur kleine Strings) übers Inet zu versenden. Leider ist das ganze nicht so einfach wie im Lan... Spätestens wenn einer der beiden Rechner hinter einem Router steckt... Daher meine Frage: Was brauche ich um so etwas umzusetzen? Im Prinzip könnte ich zum versenden das ICQ-Netzwerk oder ähnliches nutzen, aber das wäre wohl eher verboten (und falls nicht, wäre es ein sehr unschöner Weg) Leider kann ich mir auch kein kleines Serverprogramm schreiben und auf irgendeinem Server laufen lassen. Einen entsprechenden Server (Linux) hätte ich war, allerdings habe ich keine Ahnung davon, ein solches Programm zu schreiben... Kennt jemand eine Möglichkeit das versenden trotzdem zu realisieren? (egal welche Art von Lösung) Vielen Dank im voraus Nicolai |
Re: Daten übers Internet versenden
Hi Nicolai,
für dein Problem gibts mehrere mögliche Lösungen. Am einfachsten ist es, wenn du den Port im Router freigibst. Falls du auf dem Linux-Server root-Zugriff hast, kannst du dir mit Kylix aber auch einen kleinen Server schreiben. Das wäre mit Sicherheit die beste Lösung. Oder du schreibst ein CGI-Script, das mit den Clients kommuniziert. Gruß Christian |
Re: Daten übers Internet versenden
nimm dir kylix (evtl die open edition)
und code nen linux commandozeilen server mit den indys (tcp server) das ist einfacher als du denkst.. hier im forum sind alle posts und threads die du brauchst. ich hab auch irgendwo hier mal nen linux chat gepostet mit sourcen. falls den nicht findest kann ich dir den auch nochmal mit pn senden. da hab ich das auch mit indy gelöst so als beispiel vorlage für dich wäre das interressant. im prinzip ist auch fast garnix anderst unter linux. kannst direkt(99%) den sourcecode von delphi in kylix zum laufen bringen. |
Re: Daten übers Internet versenden
Ich habe leider kein Linux, wo ich Kylix installieren könnte.
Aber nichts desto trotz. Könnte ich dein Programm nochmal haben? Ich finde es hier im Forum leider nicht... |
Re: Daten übers Internet versenden
![]() linux kannst du auch in einer sandbox installieren ( PC Emulator ) da wäre z.v. VMware Workstation (evtl die demo nutzen) oder VirtualPC usw.. |
Re: Daten übers Internet versenden
Zitat:
|
Re: Daten übers Internet versenden
Hi! Mit
![]() |
Re: Daten übers Internet versenden
das crosskylix würde ich jetzt auch empfehlen ( habs noch nicht getestet )
mal zu testen ;) im übrigen läufts so oder so auf eine linux binary raus, da auch cgi unter linux eine linux bin sein muss. so oderso kommt also ein cgi oder bin für linux in frage. ansonsten müsstest du ein windows server auftreiben (was ich jetzt wieder nicht empfehlen würde) |
Re: Daten übers Internet versenden
Genau sowas wollte ich auch demnächst bauen, nur mit Dateien.
Ich werd mich hier also einfach mal beteiligen :) Bei mir ists so, dass ich keinen Server habe und ich hinter einem Router sitze und die meißten anderen Personen auch. Die meißten von denen können keine Ports freigeben (aus diversen Gründen). Gibt es also eine Datei-Verschickmöglichkeit für 2 Hinterm-Router-Sitzer? Sollte in deine Richtungen funktionieren. Hmm hab Webspace bei Funpic ... vielleicht bringt das ja was (wenn die sich darüber nicht aufregen). |
Re: Daten übers Internet versenden
Du könntest deine Datein vie FTP auf den Server hochladen und der andere kann diese dann runterladen...
So mache ich das mit Dateien momentan auch. Nur reine Strings so zu verschicken ist eben recht umständlich... |
Re: Daten übers Internet versenden
ftp ist auch nicht gerade 100% lauffähig wenn man pecht hat, mit einem router dazwischen.
evtl muss man dann passiv oder alternative einstellungen machen damit das funzt. und normale "daus" kommen damit meist nicht klar ( besondert wenn sie keinen gescheiten client nehmen sondern den IE ) zum thema "wie kommuniziere ich durch einen router mit indy (dateien oder strings oder streams ist erstmal egal und fast gleich zu behandeln)" würde ich euch gerne mal aufklären: wenn man einen router sein eigen nennt, werden alle AUSGEHENDEN anfragen an einen server(im internet) durch NAT des routers korrekt weitergeleitet und funktionieren normal immer. wenn es jetzt um verbindungen geht, die vom internet aus, auf einen server HINTER einem router gehen, also wenn eine anfrage aus dem internet durch meinen router auf einen rechner @ home durchgereicht werden muss, ist dies nur mit portforwarding möglich (routereinstellungen). wenn es sich aber jetzt um "daus" handelt die nichtmal wissen ob sie ein router oder nur ein modem haben ( wo jetzt nur die firewall bzw garnix eingestellt werden müsste, für eine funktionierende ingoing verbindung ) dann muss man das ganze von der "zentralen internet server" geschichte betrachten das heist, ich habe irgendwo im internet (linux/windows) einen server (tcp/ip technisch gesehen z.b. TidTCPServer) der auf verbindungen wartet. nun haben alle anderen leute, die sich dateien schicken wollen oder sonstiges senden/empfangen wollen, NUR einen clienten als programm. also z.b. TidTCPClient. wenn die sich jetzt nun zum server verbinden, ist dies eine AUSGEHENDE verbindung, die natürlich vom router zugelassen wird! somit steht eine gültige verbindung in BEIDE richtungen ! also kann man mit ein wenig knowhow (eigentlich stinknormales TCP protocol) in BEIDE richtungen daten (egal welche) senden UND empfangen (ja ohne einen server zuhause zu haben) das ganze kann man in diversen demos (z.b. die indy demos simple tcp transfer usw) einsehen, wie das quellcodemäßig zu friemeln ist. also das sollte jetzt nur ein tipp für diejenigen sein, die das tcp-protocol nicht kennen und auch nicht wissen, das man auch mit einem clienten daten empfangen kann und nicht nur mit dem server :) |
Re: Daten übers Internet versenden
Joa ok, einiges wusste ich davon schon, aber eben nicht alles. Werd ich mir merken!
Hast du eine Idee, wie ich als Serverlose Person das gefuchst machen kann? Hab wie gesagt nur "etwas" Platz bei funpic. Bei kleinen Daten hätte ich ja gedacht, dass das vom Client über ftp hochgeladen wird und dann alle x Zeit der andere nachsieht, ob was da ist und das dann ggf herunterlädt und vom Server löscht.- Große könnte man zerteilen und einzelt hochladen .. aber irgendwie finde ich das nicht sehr elegant. |
Re: Daten übers Internet versenden
solange man nicht den eigenen server code laufen lassen kann ist im prinzip alles not(elegant)
|
Re: Daten übers Internet versenden
Also, FTP würde ich auf keinen Fall nehmen. Denn die meisten FTP-Server erlauben nur 1-4 Verbindungen zur gleichen Zeit. Dann nimm lieber Crosskylix und schreib ein einfaches CGI, das per http-POST strings entgegennimmt und speichert. (Textdatei, DB, wo auch immer). Über das gleiche CGI-Script kannst du dann die Daten abholen.
Gruß Christian |
Re: Daten übers Internet versenden
CrossKylix geht bei mir nicht und Kylix kommt auch nicht in Frage (kein Linux)
Ich habe also leider keine Möglichkeit sowas zu erstellen. Gibt es da nicht vllt. schon fertige Programme? Ich brauche ja nur ein kleines Serverprogramm, an dem sich 2 Clients einloggen können. Dann soll jeder Client dem anderen Nachrichten schicken können... (ohne verschlüsselung, höchstbelastungen etc.) Wie lange dauert es für gute Programmierer so etwas zu basteln? Bestünde die Möglichkeit - wenn ich ganz lieb bitte - dass jemand ein solches Programm erstellt? Viel habe ich als Gegenleistung leider nicht zu bringen (außer ein - für mich jedenfalls - sehr nützliches Freewaretool, was ich dann demnächst veröffentlichen kann) |
Re: Daten übers Internet versenden
sowas könnte man schon machen. aber um auf das cgi zu kommen.. da könnte man auch genausogut php nehmen ( und dafür brauchste ja bekanntlich nur ein editor ;) )
|
Re: Daten übers Internet versenden
Also ich könnte sowas glaub ich recht fix bauen, wenn es sich nur um Strings handelt.
Bei anderen Daten geht das auch, dauert eben nur länger ;) Meld dich mal bei icq! (Bin heute Nachmittag - Abend/Nacht on) |
Re: Daten übers Internet versenden
PHP wird man da eher nicht nehmen können, da der Client ja auch gerne wissen möchte, wann es etwas für ihn gibt.
Und alle x Zeit nachzusehen ist ja wohl ne wirklich schlechte Möglichkeit! |
Re: Daten übers Internet versenden
Das funktioniert mit einem CGI-Script so einfach auch nicht. Um das CGI ohne Browser-Aufruf zu starten ist ein Cronjob nötig. Und ob der Provider andere Ports geöffnet hat damit man eine TCP/IP-Verbindung zum Programm herstellen kann ist auch nicht sicher. Ausserdem hast du dann das Problem, dass das CGI als Client fungiert und das Programm als Server, womit wir wieder am Anfang das Problems stehen :lol:
Die Strings von Zeit zu Zeit abholen halte ich da für die bessere Idee. Gruß Christian |
Re: Daten übers Internet versenden
ihr müsst besser lesen, was derjenige mit dem cgi vorschlag gemeint hat.
senden: client connected -> cgi soeichert daten ab -> verbindung ende empfangen: anderer client connected alle paar sekunden -> daten da? wenn ja, runterladen -> verbindung ende also so ungefär wie in unserem DP Chat jedoch ist dies keine ereignis-getriggerte abfrage der daten sondern eine "Try and error" wo jedoch auch bei indy client mit thread, der als endlosschleife die nachrichten abholt genauso ist, jedoch mit einer sehr sehr geringeren differenzzeit zwischen den "anfragen, ob noch was da ist" die einzige beste lösung ist halt immer eine stetige verbindung zum server, der dann natürlich auch stetig rennen muss -> "1x durchlauf" scripte und programme daher weniger geeignet. es gibt jetzt noch den zwischendrin fall- wo ich mir z.b. ein phpscript mache, das in einer schleife eine socketverbindung abhorcht und auf daten wartet. das wäre jedoch schon wegen dem timeout(das man abschalten könnte) und dem ressourcen/cpu verbrauch nur ein hirngespinnst von mir ?! sollte man mal ausprobieren :) aber ich denke nicht das es zufriedenstellend stabil laufen würde -> auch sehr anfällig gegen floodattacken usw |
Re: Daten übers Internet versenden
Hallo. Ich mische mich auch mal kurz ein: Möchtest du ein eigenes ICQ-Netzwerk aufbauen? Also einen Instant Messenger Server und Clients. Wie bei ICQ?
Wenn ja dann ist ![]() Nur dafür gibts halt schon fertige Server (ich habe mal ![]() ![]() Viel Glück dabei und viele Grüße MCeddy |
Re: Daten übers Internet versenden
Joa seit ich Linux habe nutze ich auch Gaim und bin zufrieden damit!
Über Jabber habe ich mich auch etwas informiert. Wieder einmal "Danke Wiki". Das scheint schon mal recht gut zu sein. Da Nicolai einen eigenen Server hat, fällt das Sicherheitsproblem ja wohl auch raus. Ich frage mich allerdings, ob es nicht etwas hoch gegriffen wäre, so ein Netzwerk für sowas kleines aufzubauen. Ihm geht es ums pure Versenden von Strings zwischen 2 Computern. Ich muss im Prinzip auch nur Strings/Streams verschicken und auch nur zwischen 2 PCs. Wäre solch ein Netzwerk dann nicht etwas übertrieben? Und ich finde es auch immer prima, etwas von Grund auf zu bauen (soweit es in Delphi/Kylix eben möglich&sinnvoll ist). Die Möglichkeit werde ich mir aber zumindest offen halten. Naja jetzt muss ich erstmal sehen, dass ich die grundlegenden Linuxsachen hier in den Griff bekomme ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz