Heim  >  Artikel  >  PHP-Framework  >  was ist swoole fd

was ist swoole fd

(*-*)浩
(*-*)浩Original
2019-12-06 09:16:033612Durchsuche

was ist swoole fd

fd ist der Dateideskriptor der TCP-Verbindung, der die eindeutige Kennung des Clients in swoole_server ist.

fd wird wiederverwendet , wenn die Verbindung geschlossen wird, wird der fd von der neuen eingehenden Verbindung wiederverwendet (Empfohlenes Lernen: Swoole-Video-Tutorial )

Der aufrechterhaltene TCP-Verbindungs-fd wird nicht wiederverwendet

Der Aufruf der Funktion swoole_server->send/swoole_server->close erfordert die Übergabe des Parameters $fd, um korrekt verarbeitet zu werden.

Wenn Sie in Ihrem Unternehmen Broadcasts senden müssen, müssen Sie apc/redis/memcache/swoole_table verwenden, um den Wert von fd zu speichern.

In Version 1.7.10 oder höher ist fd kein Dateideskriptor mehr. fd ist eine automatisch ansteigende Zahl im Bereich von 1 bis 16 Millionen

Nachdem fd 16 Millionen überschreitet, wird es automatisch ab 1 wiederverwendet

function my_onReceive($serv, $fd, $from_id, $data)  {    
      //向Connection发送数据
    $serv->send($fd, 'Swoole: '.$data); 
    //关闭Connection
    $serv->close($fd); 
}

Warum verwendet $fd die Umformung?

$fd verwendet eine Ganzzahl anstelle eines Objekts. Der Hauptgrund dafür ist, dass swoole ein Multiprozessmodell ist. Möglicherweise müssen Sie jederzeit im Worker-Prozess/Task-Prozess auf eine Client-Verbindung zugreifen. Wenn Sie ein Objekt verwenden, müssen Sie es serialisieren/unserialisieren. Fügt zusätzlichen Leistungsaufwand hinzu. Wenn $fd eine Ganzzahl ist, kann sie zur direkten Speicherung und Übertragung verwendet werden.

In der PHP-Schicht können Client-Verbindungen auch in Objekte gekapselt werden. Der Vorteil der Objektorientierung besteht darin, dass sie besser lesbar ist und der Verbindungsvorgang in Methoden gekapselt werden kann. Wie zum Beispiel

$connection->send($data);
$connection->close();

Das obige ist der detaillierte Inhalt vonwas ist swoole fd. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn