2017-06-29 9 views
0

Ich versuche, einen Twisted-Server zu implementieren, der aus mehreren Prozessen besteht, die alle auf einem UNIX-Socket abhören. Ich habe versucht, die Optionen SO_REUSEADDR und SO_REUSEPORT für den Socket zu aktivieren und den folgenden Endpunkt verwendet: unix: address =/tmp/web.sock: lockfile = 0.Wiederverwendung von UNIX-Sockets mit Twisted über mehrere Prozesse hinweg

Dies funktioniert gut mit einem Prozess, aber wenn ich mehrere spawnen, scheint es immer noch nur einen auf diesen Sockel zu hören. Gibt es etwas, das ich in meinem aktuellen Setup falsch mache?

+0

In der Regel hat jeder Prozess einen einzigen Unix-Socket, zwischen dem Sie das Gleichgewicht herstellen –

Antwort

0

Sie können einen UNIX-Socket nicht teilen, indem Sie ihn mehrfach binden. Binden Sie es stattdessen einmal und teilen Sie den resultierenden Dateideskriptor für alle Prozesse.

Sie können dies fast mit Twisted adoptStreamPort API (aber derzeit UNIX support has not been released) tun.

Verwandte Themen