服务端(server.php):

<?php set_time_limit(0);ob_implicit_flush();$host = "127.0.0.1";$port = 12390;$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or exit("创建失败");socket_set_block($socket) or exit("设置阻塞模式失败"); socket_bind($socket, $host, $port) or exit("监听失败");socket_listen($socket, 4) or exit("设置最大监听数失败");echo "开始监听::$host:$port\n";while ($data = trim(fgets(STDIN))) { $msgsock = socket_accept($socket); socket_write($msgsock, $data, strlen($data)); while($buf = socket_read($msgsock, 2048)){ echo "从客户端接收到消息:$buf".PHP_EOL; } socket_close($msgsock); // socket_close($msgsock); // $buf = socket_read($msgsock,1024); // echo "从客户端接收数据:$buf".PHP_EOL; // socket_close($msgsock); // continue;}socket_close($socket);客户端(client.php):

<?php set_time_limit(0);$host = "127.0.0.1"; $port = 12390;$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or exit("创建失败");echo "连接到::$host:$port...\n";$result = socket_connect($socket, $host, $port) or exit("连接服务器失败");while($buf = socket_read($socket, 2048)){echo "从服务端接收到消息:$buf".PHP_EOL;while($data = trim(fgets(STDIN))){ socket_write($socket, $data, strlen($data));}}socket_close($socket);