Heim >Backend-Entwicklung >PHP-Problem >Kann PHP das Internet der Dinge schaffen?
Ist PHP nicht für IoT-Server geeignet?
In der traditionellen Denkweise wird Ihnen oft gesagt, dass PHP nicht für IoT-Server geeignet ist, und Sie werden aufgefordert, auf Java oder Node umzusteigen Andere Sprachen, ja, ja, PHP im herkömmlichen Sinne ist in der Tat schwierig, einen IoT-Server zu erstellen, weil es so lahm ist. Das bedeutet natürlich nicht, dass es nicht vollständig möglich ist . (Empfohlenes Lernen: PHP-Video-Tutorial)
Wenn Sie beispielsweise einen TCP-Server implementieren möchten, müssen Sie möglicherweise Code mit dem folgenden Prinzip schreiben:
for ($i = 0;$i <= 1;$i++){ $pid = pcntl_fork(); if($pid){ if($i == 0){ $server = stream_socket_server("tcp://127.0.0.1:9501", $errno, $errstr, STREAM_SERVER_BIND); }else if($i == 1){ $tickTime = time()+3600; while (1){ usleep(1); if($tickTime == time()){ //do my tick func } } } }}
Die Bedeutung des obigen Codes entspricht der Erstellung eines TCP-Servers in einem Prozess und der Zeiterkennung in einer Endlosschleife in einem anderen Prozess, wodurch die Timer-Logik realisiert wird.
Das sieht wirklich lahm aus und für PHPer, die im Allgemeinen über eine schwache Programmiergrundlage verfügen, ist es wirklich schwierig, es aufrechtzuerhalten. Natürlich werden einige Leute jetzt sagen, gibt es Workerman nicht? Ja, Workerman ist tatsächlich ein PHP-Multiprozess-Framework, das die oben genannten Codeprinzipien stark verkörpert und Ihnen hilft, sich auf die Implementierung der Codelogik zu konzentrieren , es wird gesagt, dass PHP von Zeit zu Zeit das Internet der Dinge betreibt, tatsächlich ein Trugschluss ist.
Natürlich sagen einige Leute derzeit, dass die Go-Sprache über Coroutinen verfügt. Wenn Sie Workerman zum Blockieren von Datenbankaufrufen verwenden, ist die Effizienz sehr schlecht und es wird schwierig sein, eine hohe Parallelität zu erreichen Tatsächlich können wir jedoch so viele Prozesse wie möglich verwenden, um diesen Mangel auszugleichen, nämlich eine Heap-Maschine. Wenn Sie wirklich jeden Cent ausgeben möchten, spielt das natürlich keine Rolle. Zu diesem Zeitpunkt können wir uns unsere Killerwaffe einfallen lassen, nämlich die Coroutine von Swoole4.x.
Das obige ist der detaillierte Inhalt vonKann PHP das Internet der Dinge schaffen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!