介绍
小编给大家分享一下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如何实现客户端和服务端套接字通信有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!