PHP Socket 编程进阶指南

86 阅读1分钟

socket函数只是PHP扩展的一部分,编译PHP时必须在配置中添加  --enable-sockets 配置项来启用。

如果自带的PHP没有编译scokets扩展,可以下载相同版本的源码,进入ext/sockets使用phpize编译安装。

socket系列函数

socket服务端/客户端流程:

图中所示流程在任何编程语言里都是通用的。

server端

接下来我们写一个简单的单进程TCP服务器:

socket_tcp_server.php

<?php 
/**
 * Created by PhpStorm.
 * User: 知乎: PHP进阶架构师(fhyblog)
 * Date: 2018/6/23
 */
 
//参数domain: AF_INET,AF_INET6,AF_UNIX
//参数type: SOCK_STREAM,SOCK_DGRAM
//参数protocol: SOL_TCP,SOL_UDP
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); 
if(!$socket) die("create server fail:".socket_strerror(socket_last_error())."\n");

//绑定
$ret &#