Systemvoraussetzungen: Server -> Linux
Client -> Windows CE
Sprache -> Java (?)
geplant hab ich eben eine Verteilte Anwendung über Sockets... Dein Lösungsansatz hört sich ja sehr vielversprechend an, allerdings weiss ich nicht wie dies zu realisieren wäre...
In diesem Fall würde ich empfehlen, dass Du Dich erstmal in die gewünschte Programmiersprache Java einliest. Bei Addison-Wesley gibt es das Buch "Handbuch der Java-Programmierung" von Guido Krüger, das er unter http://www.javabuch.de/ freundlicherweise auch zum Download bereit hält. In dem Buch werden auch Netzwerkfunktionen beschrieben.
Java hätte den Vorteil, dass Du Dich nur um eine Art des Netzwerkzugriffs kümmern musst. Eine Sprache wie C bietet im Kern "lediglich" Zugriff auf die Schnittstellen des Betriebssystems und die dürften sich bei Linux und Windows unterscheiden (wenn auch keine Galaxien dazwischen liegen).
Es gibt aber natürlich auch dafür Bücher. Echte Fachbuchhandlungen mit guter Auswahl sind leider rar gesäht, aber zumindest in Unistädten sollte es sowas geben (eine große Fachbuchhandlung erkennt man daran, dass für einen Themenbereich wie IT ein ganzes Stockwerk reserviert ist).
Amazon und Konsorten sind definitiv keine Hilfe, Du brauchst einen Laden, in dem Du die Bücher aus dem Regal nehmen, Dich hinsetzen und kurz anlesen kannst. Die Umschlagtexte erzählen in der Regel alles und nichts. Alternativ bieten sich auch Bibliotheken an, allerdings schwanken Qualität und Auswahl hier recht stark.
So wie ich das einschätze, ist das Thema (bzw. Dein Bedarf) zu komplex, um das hier in Gänze im Forum abzuarbeiten. Mit einem umfassenden Grundlagenbuch bist Du sicher besser aufgehoben.