Maison  >  Article  >  développement back-end  >  Est-ce que PHP sera utilisé pour l’Internet des objets ?

Est-ce que PHP sera utilisé pour l’Internet des objets ?

(*-*)浩
(*-*)浩original
2019-09-10 10:36:033880parcourir

PHP n'est-il pas adapté au serveur IoT ?

Est-ce que PHP sera utilisé pour l’Internet des objets ?

Dans la pensée traditionnelle, les gens vous disent souvent que PHP n'est pas adapté aux serveurs IoT. Laissez-vous passer à d'autres langages. ​​​​comme Java, node, go, etc. Oui, il est vrai que PHP au sens traditionnel est en effet difficile de créer un serveur Internet des objets car il est tellement boiteux. Bien sûr, cela ne veut pas dire que c'est le cas. ne peut pas être réalisé complètement.

Par exemple, lorsque vous souhaitez implémenter un serveur TCP, vous devrez peut-être écrire du code avec le principe suivant : (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise )

for ($i = 0;$i <= 1;$i++){<br/>    $pid = pcntl_fork();<br/>    if($pid){<br/>        if($i == 0){<br/>            $server = stream_socket_server("tcp://127.0.0.1:9501", $errno, $errstr, STREAM_SERVER_BIND);<br/>        }else if($i == 1){<br/>            $tickTime = time()+3600;<br/>            while (1){<br/>                usleep(1);<br/>                if($tickTime == time()){<br/>                    //do my tick func<br/>                }<br/>            }<br/>        }<br/>    }}<br/>

La signification du code ci-dessus équivaut à créer un serveur TCP dans un processus et à effectuer une détection du temps dans une boucle infinie dans un autre processus, réalisant ainsi la logique du minuteur.

Cela a l'air vraiment nul, et pour PHPer dont les bases de programmation sont généralement faibles, c'est vraiment difficile à maintenir.

Bien sûr, à l'heure actuelle, certaines personnes diront : n'existe-t-il pas Workerman ? Oui, il existe bel et bien Workerman qui résume parfaitement les principes de code ci-dessus, pour vous aider à vous concentrer sur la mise en œuvre. La logique du code est un framework PHP multi-processus, il est donc faux de dire que PHP ne gère pas toujours l'Internet des objets.

Bien sûr, à l'heure actuelle, certaines personnes peuvent dire que le langage Go a des coroutines. Lorsque vous utilisez Workerman pour bloquer les appels à la base de données, l'efficacité sera très mauvaise et il est difficile d'atteindre une concurrence élevée. Alors oui, mais en fait, nous pouvons utiliser autant que possible plusieurs processus pour combler cette lacune, c'est-à-dire une machine à tas.

Bien sûr, si vous voulez vraiment dépenser chaque centime, cela n'a pas d'importance pour le moment, nous pouvons trouver notre arme tueuse, C'est la coroutine de Swoole4.x.

Modèle d'acteur

Qu'est-ce qu'Actor ? En termes simples, Actor est un modèle de concurrence hautement abstrait dont les espaces mémoire sont isolés. les uns les autres pour réduire la difficulté de programmation et de maintenance par l'utilisateur.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn