当我用ab进行对php socket代码进行并发测试出现问题,经过排查是我直接对客户端进行发送消息,没有先读取客户端消息造成的。
$text = "hello world" . PHP_EOL;
fwrite($conn, $text);
fclose($conn);
修改为
//读取client发送的信息
$client_msg = fread($conn, 1024);
echo 'client_msg:' . $client_msg . PHP_EOL;
//发送消息给client
$text = "hello world" . PHP_EOL;
fwrite($conn, $text);
fclose($conn);
ok