Naja, Sockets sind eigentlich garnicht soooo kompliziert wie sich das im ersten Moment anhört...


Bei der Übertragung von Daten per IP-Protokoll musst du dir als erstes mal eine einfache Frage stellen:

TCP oder UDP?

TCP ist ein verbindungsorientiertes Protokoll, d.h. du stellst eine TCP Verbindung zwischen den beiden Programmen her, und kannst dann deine Daten übertragen. Das TCP Protokoll stellt dabei sicher, daß deine Pakete auch tatsächlich beim Empfänger ankommen, und kümmert sich auch noch um zahlreiche weitere Dinge, die dir aber erstmal egal sein können.
(z.B. so Geschichten daß die Bandbreite bei mehreren TCP Verbindungen gleichmäßig aufgeteilt wird etc.)


UDP ist in so ziemlich jeder Hinsicht wesentlich unkomplizierter als TCP...
im Prinzip ist das UDP-Protokoll so einfach, daß man es schon fast nicht mehr als Protokoll bezeichnen kann, denn UDP Pakete werden schlicht und einfach 1:1 in IP Paketen verpackt und auf die Reise geschickt. Es muss keine Verbindung aufgebaut werden, man wählt einfach die passende Ziel-IP, und schickt seine Pakete ab. Nachteil der Geschichte ist, daß bei UDP erstmal nicht garantiert werden kann daß ein Paket überhaupt ankommt. Derartige Fehler können vom Protokoll garnicht erkannt werden, d.h. wenn du sicher sein willst daß ein Paket den Empfänger auch wirklich erreicht musst du dich selber darum kümmern (z.B. indem du den Empfänger eine Bestätigung abschicken lässt)



Mein Vorschlag wäre in deinem Fall ganz klar UDP, denn da musst du dich nicht darum kümmern irgendwelche Verbindungen auf- und vor allem korrekt wieder abzubauen.