要应用键盘输入的一些知识如下例子:

  1. <?php  
  2. fwrite(STDOUT, "Please input your name:\t");  
  3. echo $name = trim(fgets(STDIN));  
  4. fwrite(STDOUT, 'Hello ' . $name);  
  5. ?> 

点对点通信开始

1.SERVER

  1. <?php     
  2. // 建立server端socket     
  3. $tcp = getprotobyname("tcp");     
  4. $socket = socket_create(AF_INET, SOCK_STREAM, $tcp);     
  5. socket_bind($socket'127.0.0.1', 10008);       //绑定要监听的端口     
  6. socket_listen($socket);       //监听端口     
  7. $connection = socket_accept($socket);     
  8. if(!$connection){     
  9.     echo "connect fail";     
  10. }  
  11. $data = @socket_read($connection, 1024, PHP_NORMAL_READ);  
  12. printf("Client: " . $data);  
  13. //键盘输入信息  
  14. while ($buffer= trim(fgets(STDIN))) {  
  15.     if($buffer =="bye"break;  
  16.     // 向客户端传递一个信息数据     
  17.     socket_write($connection$buffer . "\n");  
  18.     // 从客户端取得信息     
  19.     $data = @socket_read($connection, 1024, PHP_NORMAL_READ);  
  20.     printf("Client : " . $data);  
  21. }  
  22. socket_close($connection);  
  23. //关闭 socket     
  24. printf("Closed the socket\n");  
  25.  
  26. ?>   

2:CLIENT 

  1. <?php 
  2. // 建立客户端的socet连接     
  3. $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);     
  4. $connection = socket_connect($socket, '127.0.0.1', 10008);    //连接服务器端socket  
  5. //键盘输入信息  
  6. while ($datatrim(fgets(STDIN))) {  
  7.     if($data =="exit") break;  
  8.     // 将客户的信息写到通道中,传给服务器端     
  9.     if (!socket_write($socket, $data."\n")) {     
  10.         echo "Write failed\n";  
  11.     }  
  12.     //服务器端收到信息后,给于的回应信息     
  13.     $buffer = socket_read($socket, 1024, PHP_NORMAL_READ);  
  14.     if($buffer=="bye") break;  
  15.     echo "Server Data:" . $buffer;  
  16. }  
  17.  
  18. ?>