socket 编程
socket 编程..........................................................................................................................1
1. socket 的概念..................................................................................................................2
2. Socket-PHP 准备工作.....................................................................................................4
2.1. 开启 sockets 扩展.....................................................................................................4
2.2. 创建 socket 服务器...................................................................................................4
2.3. 给 socket 设置参数...................................................................................................6
2.4. 绑定 IP 和端口.........................................................................................................6
2.5. 启动 socket 服务器...................................................................................................7
2.6. 创建数组保存所有已经建立的 socket...................................................................7
2.7. 创建数组保存所有已握手的 socket.......................................................................7
2.8. 使用死循环确保 socket 服务器不会立即退出.......................................................8
2.9. 复制一份已经建立的 socket...................................................................................8
2.10. 选出正在活动的 socket.........................................................................................8
2.11. 判断主 socket 是否在活动 socket 列表.................................................................9
3. 循环活动 socket 并逐个进行处理................................................................................11
3.1. 获取客户端发送的数据.........................................................................................11
3.2. 获取当前 socket 的资源 id.....................................................................................12
3.3. 判断是否进行过握手.............................................................................................12
3.4. 第一次请求进行握手响应.....................................................................................12
3.5. 已经握过手进行业务逻辑处理.............................................................................14
3.5.1. 对接收到的客户端数据进行解码..................................................................15
3.5.2. 对要返回给客户端的数据进行编码..............................................................15
4. WebSocket 浏览器........................................................................................................16
4.1. 通过 WebSocket 客户端连接 socket 服务器端.....................................................17
4.2. 向服务器端发送数据.............................................................................................17
4.3. 接收服务器端返回的数据.....................................................................................18
5. 实现实时计算器............................................................................................................18
5.1. 设计一个计算器界面.............................................................................................18
5.2. 界面效果.................................................................................................................18
5.3. 收集参与计算的数据.............................................................................................18
5.4. 将收集到的数据提交给 socket 服务器.................................................................18
5.5. socket 服务器处理业务逻辑.................................................................................18
5.6. 将处理结果推送给客户端.....................................................................................18
5.7. 将从服务器接收到的结果显示到界面.................................................................18
5.8. 解决客户端与服务器端意外断开连接.................................................................18
1