Ich habe ein System, wo ich auf einen Socket hören und auf Client-Verbindung warten und dann die Verbindung zu einer anderen Anwendung übergeben, die ich starten werde, sobald die Verbindung hergestellt ist.Routing-Sockets zu einem anderen Port
Ich habe keine Kontrolle über diese andere Anwendung und kann nur den Port festlegen, wo es zuhören wird, aber ich möchte einen Prozess für jeden neuen Client haben.
Das ist, was ich versuche zu tun: die richtige Terminologie
Ich habe nach einer Lösung gesucht, aber ich, was ich nicht haben, aber ich schaffte es auf finden Richard Stevens "Unix Network Programming" etwas über die AF_ROUTE
Familie von Sockets, die mit einem SOCK_RAW
kombiniert werden können, um eine Verbindung zu einem anderen IP und Port zu leiten. Aber es gibt zu wenig Dokumentation über how to use this flag und scheint Superuser-Privilegien zu benötigen (die ich vermeiden möchte).
Vielleicht gibt es eine einfachere Lösung, aber ich verwende wahrscheinlich die falschen Begriffe. Ist klar, was ich machen möchte?
sind Apps und Ports 1: 1 Mapping? Wenn ja, warum können sie nicht selbst zuhören? – SparKot
@SparKot Nicht genau. Für jeden neuen Client muss eine neue "APP" geöffnet werden. – JBernardo
Können Sie die andere Anwendung dazu verleiten, stattdessen von einem anderen Dateideskriptor (z. B. stdin) zu lesen? Wenn ja, dann könntest du einfach den Socket fd auf stdin und die andere Anwendung "dup2" machen. –