setsockopt/getsockopt



  • Hallo Allerseits,

    ich habe vor, via TCP/IP Nachrichten zu versenden.
    Ein Server nimmt diese von verschiedenen Clients an.
    Ein Client kann auch viele Nachrichten (z.B. >100000) an den Server senden. Falls dies der Fall ist, soll ein anderer Client in der Lage sein, seine Nachricht trotzdem durch zu bekommen. Ich will also unterschiedliche Prioritäten in den Header schreiben.
    Ich hab mir zu dem Zweck mal die setsockopt() und getsockopt() angeschaut und die SO_PRIORITY gefunden. Leider bekomm ich es nicht hin, einem Client einen höheren Prioritätswert als 0 zuzuweisen, den mein Server auch erkennt.

    Hätte vielleicht jemand für mich ein kleines Beispiel, wie ich
    1. mit setsockopt() einem Client eine bestimmt Priorität zuweise
    2. mit getsockopt() meinem Server beibringe, diese Priotität auszulesen und mir in eine integer Variable zu packen

    Wie gesagt: ich will kein ganzes Programm... ein kleines Beispiel um in die richtige Richtung zu laufen wäre aber super 🙂

    VG



  • Das Thema gehört nicht in ein C Forum wie dieses.

    Du gehst von der falschen Vorstellung aus, clientseitig dem Server irgendwas aufzwingen zu wollen, das funktioniert nicht.
    Du musst den Server entsprechend implementieren, ein gängiger Weg ist, serverseitig für jeden (Parallel)-Clientcall einen eigenen Thread zu spendieren (und dann natürlich die "parallel" eingegehenden Daten fehlerfrei zu synchronisieren).


Log in to reply