socket programmierung: ohne ip daten empfangen

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
maxe.123
User
Beiträge: 7
Registriert: Mittwoch 18. März 2015, 13:21

hallo erstaml,
ich möchte ein scrit schreiben was sich jeder herunterladen kann und wo man daten an einen computer sendet
mit dem wissen was ich momentan habe muss der sender der nachricht die ip des empfängers angeben. Das geht ja auch gut da diese immer gleich bleibt
wenn ich jetzt allerdings an das script denke was auf dem computer ist was alle daten empfängt kann ich da ja nicht eine ip adresse angeben da es ja ca. 500 computer sein werden die ihre daten an meinen rechner senden von diesen weiß ich nicht alle ip adressen und um mir und den anderen alles zu erleichrtern hätte ich gerne eine funkton wo ich nachrichrten empfangen kann ohne das ich die ip des senders wissen und eintragen muss

Maxe
Sirius3
User
Beiträge: 17745
Registriert: Sonntag 21. Oktober 2012, 17:20

@maxe.123: gelöst wird sowas klassischerweise durch ein Client-Server-Modell. Die populärste Form davon ist HTTP. Dafür gibt es bereits Myriarden von Bibliotheken. Bevor Du also etwas eigenes erfindest, würde ich Dir empfehlen HTTP mal näher anzuschauen und zu prüfen, ob Du damit Deine Anforderungen erfüllen kannst.
maxe.123
User
Beiträge: 7
Registriert: Mittwoch 18. März 2015, 13:21

ok das heist das nicht so einfach möglcih ist das ich die ip einfach weglasse oder doch evtl mehrere eintrage?
BlackJack

@maxe.123: Ich verstehe gerade nicht wo Du die IP von Leuten die Dir etwas senden überhaupt eintragen oder angeben willst. Das ist doch gar nicht notwendig und das ist der Normalzustand das man die IPs von den Sendern nicht im vorhinein kennt oder überhaupt kennen *muss*.

Der Hinweis auf HTTP macht in sofern Sinn das man sich dann kein eigenes Protokoll ausdenken muss sondern eines verwendet das sehr häufig für Client/Server-Verbindungen verwendet wird.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

maxe.123 hat geschrieben:ok das heist das nicht so einfach möglcih ist das ich die ip einfach weglasse oder doch evtl mehrere eintrage?
Ich verstehe deinen Anwendungsfall nicht. Warum muss der Empfänger von vorneherein eine Liste der Sender haben? Vielleicht erklärst du das mal etwas präziser.
maxe.123
User
Beiträge: 7
Registriert: Mittwoch 18. März 2015, 13:21

nein es ist so das das ein zeugnisterminplaner werden soll den sich alle eltern und schüler aus dem internte herunterladen können und dann direkt eine terminanfrage schicken können das sind bei meiner schule ca. 300 schüler also ungefähr 600 eltern und insgesamt könnten rund 900 leute das also runterladen die sollen dann also alle auf einen rechner ihre daten schicken ich brauche einfach eine möglichkeit wie ich bei der socketprogrammierung keine ip des senders baruche um daten zu empfangen
Sirius3
User
Beiträge: 17745
Registriert: Sonntag 21. Oktober 2012, 17:20

@maxe.123: Terminplaner ist so eine typische Aufgabe für HTTP. Normalerweise macht man das ja auch nicht mit einem Programm das man herunterladen muß, sondern direkt als Web-Application. Dann braucht nämlich kein Nutzer irgendwo irgendetwas zu installieren und es ist platformunabhängig nutzbar.
maxe.123
User
Beiträge: 7
Registriert: Mittwoch 18. März 2015, 13:21

ok das heisst ich soll auf unserer schul website einen zeugnisterminplaner kategorie draufpacken und von dort sendet es dann alle daten an einen rechner

aber wie mach ich denn das ich habe da überhaupt keine erfahrung und müsste bis zum ende der woch ezumindest einen anfang vorzeigen damit ich weiter daran arbeiten kann ich habe ein script geschrieben wo man das alles sendet kann jetzt ist die frage ob ich das alles auf dem müll hauen kann oder ob ich das noch brauchen känn

ind habt ihr vieleicht ein gutes tutorial was ihr mir empfehlen könnt zu http proghrammierung in python besonders für meinen anwendungs fall oder einfach für blutige anfänger in diesem bereich
BlackJack

@maxe.123: Kannst Dir ja mal Django anschauen als ein Rahmenwerk wo alles schon drin ist was man für 08/15-Webanwendungen so braucht.

Eventuell noch Bootstrap um einfacher ein vorzeigbares Layout für die Webseiten hinzubekommen als wenn man als Anfänger selbst CSS für so etwas schreibt.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

maxe.123 hat geschrieben:nein es ist so das das ein zeugnisterminplaner werden soll den sich alle eltern und schüler aus dem internte herunterladen können und dann direkt eine terminanfrage schicken können das sind bei meiner schule ca. 300 schüler also ungefähr 600 eltern und insgesamt könnten rund 900 leute das also runterladen die sollen dann also alle auf einen rechner ihre daten schicken
Wie wär's, wenn dein Skript einfach automatisch eine Email aus den eingegebenen Daten erstellt und dann an eine Zieladresse versendet? Das dürfte zumindest für den Anfang erstmal leichter zu programmieren sein, zumal anscheinend ja auch die Zeit etwas drängt.

PS: Habt ihr in der Schule eigentlich schon Kommas und Punkte durchgenommen...? :evil:
maxe.123
User
Beiträge: 7
Registriert: Mittwoch 18. März 2015, 13:21

sry bin immer im stress

ok und wie mach ich das so "einfach..."
BlackJack

@snafu: Ich verstehe jetzt gerade nicht was daran was genau vereinfachen soll? Dann muss man ja beim Empfänger die E-Mails wieder irgendwie auswerten, was mir jetzt komplizierter erscheint als eine HTTP-Anfrage auszuwerten bei der man dann auch gleich *sofort* eine Rückmeldung geben kann das der Terminwunsch gespeichert werden konnte und nicht mit anderen Terminwünschen kollidiert. Oder eben *das* er kollidiert weil sie schon jemand den Termin reserviert hat während man sich nicht entscheiden konnte. Speziell der letztere Fall würde bei Mails ja noch mehr umständliche Arbeit nach sich ziehen, denn dann muss man die Leute wieder per Mail informieren das ihr Wunschtermin schon belegt ist und welche noch frei sind und das ganze Spielchen geht von vorne los.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Sirius3 hat geschrieben:Normalerweise macht man das ja auch nicht mit einem Programm das man herunterladen muß, sondern direkt als Web-Application. Dann braucht nämlich kein Nutzer irgendwo irgendetwas zu installieren und es ist platformunabhängig nutzbar.
Naja, was ist mit ner App? ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Sirius3
User
Beiträge: 17745
Registriert: Sonntag 21. Oktober 2012, 17:20

@maxe.123: was hast Du für ein Skript geschrieben, "wo man das alles senden kann"? Ich dachte Du hängst noch daran, dass Du nicht weißt, wie man Daten versendet?
Was hast Du denn schon alles geplant oder implementiert, ohne Dir vorher bei einem wichtigen Punkt wie der Kommunikation etwas überlegt zu haben?
BlackJack

@Hyperion: Was für eine App? Für Smartphones? Vielleicht für Nerds schockierende Erkenntnis: Nicht jeder hat so etwas. ;-) (Und auch Apps müsste man installieren, was für Laien eventuell nicht so einfach ist wenn die nicht aus dem offiziellen *Store für die Plattform kommt.)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

BlackJack hat geschrieben:@Hyperion: Was für eine App? Für Smartphones?
Sicher. Ich wollte damit nur andeuten, dass man nicht alles rein auf "Webapp" reduzieren sollte, bzw. es sehr sinnvoll sein kann, zusätzlich auch ein API bereit zu stellen.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

BlackJack hat geschrieben:@snafu: Ich verstehe jetzt gerade nicht was daran was genau vereinfachen soll?
Wenn man bis Ende der Woche etwas vorzeigen muss und im Bereich der Netzwerkprogrammierung (inkl. Session-Handling, nötige Absicherungen, etc) noch nicht so erfahren ist, dann stelle ich mir den Email-Versand für den Anfang durchaus einfacher vor. Ich sprach hier ja nicht von bestmöglichem Komfort, Effizienz und ähnlichem.
BlackJack

@snafu: Aber die E-Mails müssen doch ausgewertet werden. Sonst hat man doch nicht wirklich etwas gewonnen. Session-Handling und irgendwelche Absicherungen hat man bei E-Mails auch nicht. Da kann man auch eine kleine Webanwendung ohne schreiben und hat das gleiche Ergebnis. Nur halt einfacher als E-Mails per Programm auszuwerten.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

BlackJack hat geschrieben:Session-Handling und irgendwelche Absicherungen hat man bei E-Mails auch nicht.
Natürlich hat man die nicht. Ich sage ja: Wenn man das jetzt bis Ende der Woche (also ja wahrscheinlich bis morgen) vorzeigen muss, dann will man doch sicher keine angefangene Webapp abliefern, die offen wie ein Scheunentor ist, falls man sich noch nicht wirklich um Details zur Sicherheit kümmern konnte. Wenn so eine App dann tatsächlich zum Einsatz kommt, dann kann es große Probleme hinsichtlich des Datenschutzes geben. Wieso dann nicht schnell ein Formular mit den Möglichkeiten von HTML programmieren und die Formulardaten *für den Anfang* erstmal per Mail versenden? Man kann bei der Präsentation ja immer noch sagen, dass man später etwas besseres für den Versand nutzt.
Sirius3
User
Beiträge: 17745
Registriert: Sonntag 21. Oktober 2012, 17:20

@snafu: ich verstehe immer noch nicht, an welcher Stelle Du email einsetzen willst, und was der Vorteil dann wäre.
Antworten