onConnect
Beschreibung:
callback Worker::$onConnect
Dies ist die Rückruffunktion, die ausgelöst wird, wenn ein Client eine Verbindung zu Workerman herstellt (nach dem Abschluss des TCP-Drei-Wege-Handschlags). Jede Verbindung löst nur einmal den onConnect-Rückruf aus.
Hinweis: Das onConnect-Ereignis zeigt lediglich an, dass der Client den TCP-Drei-Wege-Handschlag mit Workerman abgeschlossen hat. Zu diesem Zeitpunkt hat der Client noch keine Daten gesendet, und es gibt keine anderen Möglichkeiten, um Daten oder Informationen des Clients zu identifizieren, außer durch $connection->getRemoteIp(), um die IP-Adresse des Gegenübers zu erhalten. Um herauszufinden, wer der Gegenüber ist, muss der Client Authentifizierungsdaten wie ein Token oder Benutzername und Passwort senden, die dann in der onMessage-Rückruf für die Authentifizierung verwendet werden.
Da UDP verbindungslos ist, wird der onConnect-Rückruf beim Einsatz von UDP nicht ausgelöst, ebenso wenig wie der onClose-Rückruf.
Parameter der Rückruffunktion
$connection
Verbindungsobjekt, d.h. TcpConnection-Instanz, die zur Steuerung der Client-Verbindung verwendet wird, wie z.B. Daten senden, Verbindung schließen usw.
Beispiel
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('websocket://0.0.0.0:8484');
$worker->onConnect = function(TcpConnection $connection)
{
echo "new connection from ip " . $connection->getRemoteIp() . "\n";
};
// Worker ausführen
Worker::runAll();
Hinweis: Neben der Verwendung anonymer Funktionen als Rückruf können auch hier andere Rückrufmethoden verwendet werden.