Heim  >  Artikel  >  PHP-Framework  >  Was bedeutet swoole fd?

Was bedeutet swoole fd?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-12-12 10:37:203301Durchsuche

Was bedeutet swoole fd?

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

fd wird wiederverwendet. Wenn die Verbindung geschlossen wird, wird fd von der neu eingegebenen Verbindung 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 objektorientierten Methode besteht darin, dass sie besser lesbar ist und die Verbindungsoperation in Methoden gekapselt werden kann. Zum Beispiel:

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

Die chinesische PHP-Website bietet eine große Anzahl kostenloser Swoole-Einführungs-Tutorials, die jeder gerne lernen kann!

Das obige ist der detaillierte Inhalt vonWas bedeutet 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