3 Stimmen

Daten über das Internet senden

Ich habe die Anforderung, einige 100 Byte Daten über das Internet zu senden. Mein Rechner ist mit dem Internet verbunden. Ich kann dies mit HTTP tun, indem ich Anfragen sende und Antworten empfange. Aber meine Anforderung ist nur, Daten zu senden und keine Antwort zu erhalten. Ich denke daran, dies mit einem UDP-Client-Server-Programm zu tun. Aber dazu muss ich den UDP-Client im Internet hosten?

Gibt es eine andere Möglichkeit, dies zu tun?

Irgendwelche Vorschläge?

4voto

call me Steve Punkte 1638

Günstige Lösung, um 100 Bytes an Daten über das Internet zu versenden.

C:\Windows\system32>ping -n 1 -l 100 -4 google.com

Pinging google.com [209.85.171.99] with 100 bytes of data:
Reply from 209.85.171.99: bytes=56 (sent 100) time=174ms TTL=233

Ping statistics for 209.85.171.99:
    Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 174ms, Maximum = 174ms, Average = 174ms

2voto

Toon Krijthe Punkte 51819

Der große Vorteil von HTTP ist, dass Port 80 sehr oft offen ist. Bei anderen Protokollen müssen Sie sich darauf verlassen, dass die Betreiber den Port öffnen.

2voto

Brian Punkte 3317

Um Daten zu senden, aber keine Antwort zu erhalten, können Sie Ihr Programm einfach so schreiben, dass es nicht auf eine Antwort wartet. Das bedeutet nicht, dass Sie keine Antwort erhalten, sondern nur, dass Sie sie nicht bekommen.

Sie können zum Beispiel sicherstellen, dass Sie "recv" nicht auf dem Socket aufrufen. Sie können auch "shutdown" verwenden, um Lesevorgänge auf dem Socket zu deaktivieren. Je nach zugrundeliegender Implementierung kann der Weg über "shutdown" dazu führen, dass alle eingehenden Pakete einfach verworfen werden.

Was die Art und Weise betrifft, wie die Pakete gesendet werden, so funktioniert wirklich jede Art von Protokoll. Natürlich muss Ihnen ein Zielserver im Internet bekannt sein, aber Sie haben viele Möglichkeiten. Der einfachste Weg ist vielleicht der, den Sie vorgeschlagen haben: HTTP (vielleicht verwenden Sie www.google.com als Zielserver).

1voto

strager Punkte 86191

Sie brauchen einen Client (Sie) und einen Server (die Gegenseite). Bei UDP senden Sie Datagramme über das Internet (mit IP). UDP bietet nicht die Sicherheit, die TCP bietet, erfordert aber auch keine Antwort (aber solche Antworten sind Teil ihrer Protokolle, nicht Ihrer).

Ich würde vorschlagen, TCP zu verwenden, um Ihnen einige Kopfschmerzen zu ersparen.

Vergewissern Sie sich außerdem, dass Sie sich nicht hinter einer Firewall befinden, da Ihre Pakete sonst nicht wie erwartet an ihr Ziel gelangen können.

1voto

Die in Sente Punkte 9197

Hmmm...

Sie möchten kurze Nachrichten über das Internet verschicken, aber keine Antwort erhalten.

Bei Ihrer Anwendung handelt es sich nicht zufällig um eine Art Spyware, oder?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X