Socket 并不是一个协议, 其本质是对 TCP/IP 协议进行的封装, 并对外提供了一组接口, 允许用户可以自由的按相关协议组装数据, 与服务器进行交互。

一切基于 TCP/IP 的协议可以通过 Socket 进行实现。

PHP 通过 Socket 扩展也可以实现对 Socket 编程,使用 PHP 进行 Socket 通信的简单过程如下:

PHP Socket 编程涉及的主要函数:


示例一: 客户端和服务端的一对一通信, 由客户端推送数据到服务端

client.php

server.php

首先在命令行下启动 server.php, 然后启动 client.php,

服务消息提示:

客户端接收的响应消息提示

客户端接收到服务端的响应消息后将断开连接, 而服务端会一直挂起, 等待下一次的连接.

示例二: 客户端和服务端的一对一通信, 由服务端推送数据到客户端

client.php

server.php

首先通过命令行启动 server.php, 此时服务端将挂起, 持续监听指定端口.。

然后启动 client.php, 客户端发起连接, 连接成功后, 将接收到服务端推送的数据。

客户单响应提示: