Vous pouvez utiliser Server->bind dans swoole pour obtenir l'uid Server->bind liera la connexion à un UID défini par l'utilisateur. peut définir dispatch_mode=5 Définir cette valeur pour l'allocation fixe de hachage. Il peut être garanti que toutes les connexions d'un certain UID seront affectées au même processus Worker.
function Server->bind(int $fd, int $uid);
$fd : ID de connexion
$uid : UID à lier, doit être un nombre différent de 0
Utiliser fd modulo par défaut lorsque l'UID n'est pas lié Allocation
La même connexion ne peut être liée qu'une seule fois. Si l'UID a été lié, appeler à nouveau bind renverra false
Vous pouvez utiliser $serv->getClientInfo($fd) pour afficher le connection La valeur de l'UID lié
n'est valide que lorsque dispatch_mode=5 est défini
Sous le paramètre par défaut dispatch_mode=2, le serveur allouera les données de connexion à différents processus Worker en fonction du socket fd . Parce que fd est instable, si un client est déconnecté et reconnecté, fd changera.
De cette manière, les données de ce client seront distribuées aux autres travailleurs. Après avoir utilisé bind, vous pouvez l'attribuer en fonction de l'UID défini par l'utilisateur. Même si la connexion est déconnectée et reconnectée, les données de connexion TCP avec le même UID seront attribuées au même processus Worker.
Apprentissage recommandé : tutoriel vidéo swoole
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!