Einen Prozess an mehrere Ports binden?

Einen Prozess an mehrere Ports binden?

Ich habe einen Socket-Server laufen und lausche auf eingehende Verbindungen auf einem Nicht-Admin-Port (also > 1024). Ich möchte auch, dass dieser Prozess zu Überwachungszwecken einen anderen Verbindungstyp auf einem anderen Port verarbeiten kann. Ich habe auf SE Fragen für die umgekehrte Situation gefunden, viele-zu-eins, aber dies wäre eine Eins-zu-viele-Situation.

Meine Fragen: Ist es möglich, einen Prozess an mehrere Ports zu binden?

Wenn ja, kann ich Verbindungen auf den verschiedenen Ports zuverlässig und eindeutig handhaben (d. h. Port 2000 führt einen Code aus und Port 3000 einen anderen).

Ich bin offen für andere Vorschläge zum Umgang mit einer Verbindung, um die anderen Clients zu überwachen, die eine Verbindung zum primären Port herstellen.

Antwort1

Absolut möglich. Sie können einen Selektor oder eine Umfrage verwenden, um Benachrichtigungen zu erhalten und jede Verbindung zu verwalten.

http://linux.die.net/man/2/select

Antwort2

Dies scheint eine Programmierfrage zu sein, aber für ein Programm, das Sie noch nicht geschrieben haben, und in einer nicht angegebenen Sprache.

Ist es möglich, einen Prozess an mehrere Ports zu binden?

Ja.

kann ich Verbindungen auf den verschiedenen Ports zuverlässig und eindeutig handhaben

Ja, jeder Abhörport (gebundener Port) wird von einem separaten Socket bedient (wie auch alle Verbindungen, die von jedem Abhörport hergestellt werden).

verwandte Informationen