Zwei Ports von einem Client aus öffnen



  • Hallo Zusammen,

    Ich habe ein Server der zwei Ports öffnet (4950 und 4951), der eine (4950) ist für "normale" Daten da, und der andere (4951) ist für u-Law (Audio) Daten gedacht.

    Nun, mit select werden die Filedeskriptoren gepollt und wenn einer gleich "dataListener" oder "audioListener" ist werden dann die entsprechenden Anmeldungs-Threads gestartet.

    Ich habe es so gelöst:

    Client meldet sich an (4950) wird nach dem User Name gefragt und sendet dann den Namen. In einer Struktur im Server wird dann der Filedescriptor gespeichert.
    Client fragt nach seinem Filedeskriptor nach (4950), der Server sendet ihn.
    Client meldet sich wieder an, diesmal aber auf port 4951 und der Server fragt nach dem Filedeskriptor der vorher gesendet wurde, der Client sendet dann den Filedeskriptor. Der Server ordnet dann der neuen Filedeskriptor (der des Ports 4951 "Audio Port") der Struktur. Damit kann habe ich dann ein "Pärchen" von Filedescriptoren (Data/Audio) einem Client zugeordnet.

    Ist eigentlich kompliziert, gibt's einen anderen Weg? Um das Ganze eleganter zu lösen.

    Gruss


Anmelden zum Antworten