Sie können Server->bind in swoole verwenden, um die UID zu erhalten. Server->bind bindet die Verbindung an eine benutzerdefinierte UID. kann „dispatch_mode=5“ festlegen. Legen Sie diesen Wert für die feste Hash-Zuweisung fest. Es kann garantiert werden, dass alle Verbindungen einer bestimmten UID demselben Worker-Prozess zugeordnet werden.
function Server->bind(int $fd, int $uid);
$fd: Verbindungs-ID
$uid: UID, die gebunden werden soll, muss eine Zahl ungleich 0 sein
Verwenden Sie standardmäßig fd modulo, wenn die UID nicht gebunden ist. Zuweisung
Die gleiche Verbindung kann nur einmal gebunden werden. Wenn die UID gebunden wurde, gibt ein erneuter Aufruf von bind false zurück
Sie können $serv->getClientInfo($fd) verwenden, um die anzuzeigen Verbindung Der Wert der gebundenen UID
ist nur gültig, wenn „dispatch_mode=5“ eingestellt ist
Unter der Standardeinstellung „dispatch_mode=2“ weist der Server Verbindungsdaten verschiedenen Worker-Prozessen entsprechend dem Socket-FD zu . Da fd instabil ist, ändert sich fd, wenn ein Client getrennt und wieder verbunden wird.
Auf diese Weise werden die Daten dieses Kunden an andere Mitarbeiter verteilt. Nachdem Sie bind verwendet haben, können Sie es entsprechend der benutzerdefinierten UID zuweisen. Auch wenn die Verbindung getrennt und wieder hergestellt wird, werden TCP-Verbindungsdaten mit derselben UID demselben Worker-Prozess zugewiesen.
Empfohlenes Lernen: Swoole-Video-Tutorial
Das obige ist der detaillierte Inhalt vonWie bekomme ich Flüssigkeit in die Wolle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!