Ho un sistema in cui voglio ascoltare un socket e attendere il collegamento del client e quindi passare la connessione a un'altra applicazione che verrà avviata non appena viene stabilita la connessione.Socket di routing su un'altra porta
Non ho il controllo su quest'altra applicazione e posso solo impostare la porta su cui ascolterà, ma voglio avere un processo per ogni nuovo client.
questo è quello che sto cercando di fare:
ho cercato una soluzione, ma io cosa non ho la terminologia giusta, ma sono riuscito a trovare su "Unix Network Programming" di Richard Stevens sulla famiglia di prese AF_ROUTE
che può essere combinato con un SOCK_RAW
per instradare una connessione a un altro IP e porta. Ma c'è troppo poca documentazione su how to use this flag e sembra richiedere i privilegi di superutente (che voglio evitare).
Forse c'è una soluzione più semplice ma probabilmente sto usando i termini sbagliati. È chiaro cosa voglio fare?
le app e le porte mappatura 1: 1? se sì, perché non possono ascoltare se stessi? – SparKot
@SparKot Non esattamente. Per ogni nuovo cliente, deve essere aperta una nuova "APP" – JBernardo
Puoi convincere l'altra applicazione a leggere da un altro descrittore di file (ad esempio stdin)? Se è così, allora si potrebbe semplicemente "dup2" il socket fd su stdin e fork + eseguire l'altra applicazione. –