Client/Server Applikation



  • Hallo zusammen,

    Ich wusste nicht in welchem Teilforum ich die Frage am besten stelle, drum versuch ich es mal hier:

    BS: Windows XP
    IDE: Visual Basic C++

    Wir haben einen mobilen PC mit einem eingebauten Access-Point auf der einen Seite und einen Laptop mit Wireless Adapter auf der anderen.
    Auf dem mobilen PC sind diverse Sensoren (GPS,WEB-Cam etc.) installiert. Auf diesem PC muss ein Programm die Daten der Sensoren sammeln und über Wireless zum Laptop senden. Das es sehr viele Daten sind (etwa 30 Mbit/s) würde ich gerne wissen, wie man diese am besten überträgt. Ich habe gesehen, dass es dafür Winsock gibt mit welchem man eine UDP Verbindung aufbauen kann. Liege ich damit richtig? Gibt es dafür Beispiel-Code mit dem ich den Datendurchsatz auch testen könnte?

    Danke für die Mühe
    Gruss
    Rico



  • hola

    osiris81 schrieb:

    Das es sehr viele Daten sind (etwa 30 Mbit/s) würde ich gerne wissen, wie man diese am besten überträgt.

    wenn du keinen möeglichen datenverlust haben willst, solltest du kein UDP verwenden sondern TCP.
    muessen die daten sozusagen in echtzeit uebertragen werden ?
    werden durchgehend immer 30 MBit daten versandt oder ist das nur ne hoechstmarke die mal erreicht werden kann?
    30 MBit waeren dann > 3,6 MByte/sek. das schaffst wahrscheinlich nicht mal mit ner 54 MBit WLAN verbindung. abhaengig ob noch ein anderes WLAN geraet den accessPoint verwendet.

    fuer beispiele mit sockets gibts im forum genug links.

    Meep Meep



  • Hallo,

    Der Access Point ist auf dem mobilen Rechner (Server, welcher später auf einem Roboter steht) und macht keine andere Verbindung als mit dem Wireless Adapter auf dem Laptop (Client) . Beide sind von Netgear und so können wir eine 108 MBit/s Verbindung herstellen. Die 30 MBit/s wären schön, ansonsten können wir die Daten auch reduzieren. Die Daten sollen in Echtzeit übertragen werden und es ist nicht schlimm, wenn Sie ab und zu fehlerhaft sind.

    Ich habe mir gedacht, die Datenmenge dynamisch der Verbindungsqualität anzupassen, somit müsste ich aber trotzdem über TCP/IP senden, da ich ansonsten nicht weiss, ob die Verbindungqualität genug gut ist um alle Daten zu versenden oder?

    Gruss
    Rico



  • re

    um eine dauerhafte uebertragungsqualitaet wenigstens halbwegs zu garantieren, muessen router und laptop immer an der selben stelle stehen.
    die 108 MBit sind leider nur theoretische werte.
    die theoretischen 108 MBit hast auch nur bei optimalen voraussetzungen und wenn die geraete relativ nahe beieinander stehen. ansonsten sinkt die uebertragungsgeschwindigkeite bald mal auf 54 MBit und darunter.

    was auf jede fall mal hilft um ne gute uebertragungsrate zu bekommen ist, die stummel antenne des access-pointes, falls moeglich, gegen eine bessere zu tauchen.
    leider kann man bei den laptops die antenne nicht tauschen. zu mindest hab ich es noch bei keinem model gesehen. ob es pcmcia-wlan-karten mit externer antenne gibt weiß ich nicht.
    dadurch ist der laptopn meistens das schwaechste glied in der WLAN kette.
    ne bessere antenne am access-point bringt nicht nur bessere ausgangsleistung, sondern auch ne hoehere empfindlichkeit. dadurch kann der access-point schwaechere signale besser verarbeiten. wasserleitungen, metal usw. zwischen access-point und laptop ist meistens auch sehr schlecht.
    inwiefern man die verbindungsgeschwindigkeit oder aehnliches auslesen kann, entzieht sich meinem wissen.
    welche daten sind das ueberhaupt ? vielleicht kann man mit einer geeigneten komprimierung da was machen.

    Meep Meep



  • Hallo Meep Meep,

    Danke für die Antwort. Das Beste was ich als Antenne für den Access Point bis jetzt gefunden habe, ist eine 9 dBi Rundstrahlantenne (40cm). Dass die 108 MBit/s nur theoretisch sind war mir klar, aber man hat mir versichert, dass wir mit etwa 40 - 60 % davon rechnen dürfen.

    Die meisten Daten sind von einer 3D- Kamera welche ein Distanzbild und ein Intensitätsbild erstellt (zB. 30 mal pro Sekunde). Das sind dann 25'000 Bildpunkte * 2 (Distanz- und Intensitätsbild) * 16 (16 Bit Integer) * 30 (Bilder pro Sekunde) = 24'330'240 Bit/s.
    Ich erhalte diese Daten allerdings als ASCII File in welchem die einzelnen 16 Bit Werte stehen (als tab-stopp getrennte Tabelle). So ein File ist etwa 150 k gross was dann etwa 38'000'000 Bit/s ergäbe. Ich weiss nicht, ob man diese Daten genug schnell in Echtzeit komprimieren kann (Eben die 38'000'000 Bit/s). Unser Rechner ist ein Intel Core Duo 1.66 GHz.

    Gruss
    Rico



  • hola

    die kompressionsgeschwindigkeit sollte eigendlich kein thema sein.
    fraglich ist jedoch, wie gut man die daten komprimieren kann. was wiederum auch vom algo abhaengt und dadurch auch die kompressonsgeschwindigkeit bestimmt.
    koenntest du mal einen ausschnitt aus dem textfile posten?

    Meep Meep


Anmelden zum Antworten