在传统的头脑中,常常会有人通知你,php不适合用来做物联网服务端,让你换java,node,go等其他言语,是的,没错传统意义上的php,确切很难做物联网服务器,由于它实在太糟糕了,固然,这也不是意味着完全就不能做。 (引荐进修:PHP视频教程)
举个例子,当你想完成一个TCP服务器的时刻,你能够须要写出道理约莫以下的代码:
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 } } } }}
以上代码的意义等于在一个历程中建立一个TCP 服务端,别的一个历程中死循环来做时候检测,从而完成定时器逻辑。
如许看起来,确切很糟糕,而且关于编程基本广泛比较柔弱的PHPer来讲,这真的很难保护。固然这个时刻,就会有人说,这不是另有Workerman吗,是的,确切另有Workerman,Workerman就是高度封装了上述代码道理,协助你用心于完成代码逻辑的一个PHP多历程框架,因而说PHP不时刻做物联网,实在这是谬论。
固然这个时刻能够又会有人说,go言语有协程,你用Workerman当涌现壅塞数据库挪用的时刻,那效力就异常的差,很难涌现高并发,这么说没错,然则实际上,我们能够尽量的用多历程去填补这个不足,也就是堆机械。固然,假如你真的想锱铢必较,没紧要,这个时刻我们就能够拿出我们的杀器,那就是Swoole4.x的协程。
以上就是php能做物联网吗的细致内容,更多请关注ki4网别的相干文章!