当我用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