PHP如何实现客户端和服务端套接字通信

  介绍

小编给大家分享一下PHP如何实现客户端和服务端套接字通信,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

本文用到套接字的方法。

 PHP如何实现客户端和服务端套接字通信

插座服务端实现代码<代码>服务器。php代码

& lt; php ?/* *   *由PhpStorm。   *用户:jmsite.cn   *日期:2019/2/20   *时间:12   */set_time_limit (0);   $主机=& # 39;127.0.0.1 # 39;;   端口=8081美元;   SOCK_STREAM套接字=socket_create美元(AF_INET, SOL_TCP)或死亡(“socket_create()失败:“.socket_strerror (socket_last_error())干净\ n");   $ ret=socket_bind(插座,主机,美元港口美元)或死亡(“socket_bind()失败:“.socket_strerror (socket_last_error())干净\ n");   (ret=socket_listen美元插座,10)或死亡(“socket_listen()失败:“.socket_strerror (socket_last_error())干净\ n");   而(真){   (连接=socket_accept美元套接字)或死亡(“socket_accept()失败:“.socket_strerror (socket_last_error())干净\ n");   而(真){   socket_getpeername(连接,addr美元、美元港口);   $ data=https://www.yisu.com/zixun/socket_read(连接4096美元);   如果(! $ data) {   打破;   }   $味精=日期(“Y-m-d H:我:年代”)。”{$ addr}{$港口}已收到信息($ data。)”;   echo $味精。“/n”;   socket_write(连接、味精、美元strlen (msg)美元);   }   }

插座客户端实现代码<代码>客户端。php代码

& lt; php ?/* *   *由PhpStorm。   *用户:jmsite.cn   *日期:2019/2/20   *时间:12:22   */$主机=& # 39;127.0.0.1 # 39;;   端口=8081美元;   SOCK_STREAM套接字=socket_create美元(AF_INET, SOL_TCP)或死亡(“socket_create()失败:“.socket_strerror (socket_last_error())干净\ n");   $ ret=socket_connect(插座,主机,美元港口美元)或死亡(“socket_connect()失败:“.socket_strerror (socket_last_error())干净\ n");   $味精=安馐苑⑺托畔?pid:“.getmypid ();   socket_write(插座、味精、美元strlen (msg)美元);   (data=https://www.yisu.com/zixun/socket_read美元插座,4096);   回声“服务器回复:“$ data。“/n”;   socket_close(插座);

<强>测试插座通信

执行服务端代码,阻塞等待客户端连接

php服务器。php

多次执行客户端代码

php client.php   服务器回复:2019-02-20 10:14:33 127.0.0.1 64238已收到信息(测试发送信息,pid: 1532)   php client.php   服务器回复:2019-02-20 10:14:34 127.0.0.1 64242已收到信息(测试发送信息,pid: 11620)   php client.php   服务器回复:2019-02-20 10:14:35 127.0.0.1 64243已收到信息(测试发送信息,pid: 3676)   php client.php   服务器回复:2019-02-20 10:14:36 127.0.0.1 64246已收到信息(测试发送信息,pid: 19740)   php client.php   服务器回复:2019-02-20 10:14:37 127.0.0.1 64249已收到信息(测试发送信息,pid: 23180)   …

服务器。php输出

php server.php   64238 10:14:33 127.0.0.1 2019-02-20已收到信息(测试发送信息,pid: 1532)   64242 10:14:34 127.0.0.1 2019-02-20已收到信息(测试发送信息,pid: 11620)   64243 10:14:35 127.0.0.1 2019-02-20已收到信息(测试发送信息,pid: 3676)   64246 10:14:36 127.0.0.1 2019-02-20已收到信息(测试发送信息,pid: 19740)   64249 10:14:37 127.0.0.1 2019-02-20已收到信息(测试发送信息,pid: 23180)   ……

这就是PHP简单实现客户端和服务端套接字通信的过程。

看完了这篇文章,相信你对PHP如何实现客户端和服务端套接字通信有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

PHP如何实现客户端和服务端套接字通信