Advertisement
Guest User

Teste Socket

a guest
Jul 11th, 2017
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.70 KB | None | 0 0
  1. <html>
  2. <head> <title> Servidor </title> </head>
  3. <body>
  4. <?php
  5.     $host = "localhost";
  6.     $user = "root";
  7.     $pass = "";
  8.     $banco = "trabalho";
  9.     $conexao = mysql_connect($host, $user, $pass) or die(mysql_error());
  10.     mysql_select_db($banco) or die(mysql_error());
  11. ?>
  12. <?php
  13.     $socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
  14.     socket_bind($socket,'127.0.0.1',65003);
  15.     socket_listen($socket);
  16.     $conn=false;
  17.     echo "Esperando conexao<br>";
  18.     switch (@socket_select($r = array($socket), $w = array($socket), $e = array($socket),60)){
  19.         case 1:
  20.             echo"Sucesso na conexao com cliente";
  21.             $conn = socket_accept($socket);
  22.             break;
  23.         case 2:
  24.             echo"Nao houve conexao";
  25.             break;
  26.         case 0:
  27.             echo "Tempo de espera terminou";
  28.             break;
  29.     }
  30.     while ( @socket_recv($conn,$buffer_resposta,1024,MSG_WAITALL)){
  31.         // receber solicitacao do cliente  
  32.         echo "<br>Cliente diz : ".$buffer_resposta;
  33.         $sql = mysql_query("$buffer_resposta");
  34.         // retornar consulta
  35.         if  (strstr("$buffer_resposta","LIKE",true)){
  36.             $row = mysql_num_rows($sql);
  37.                 if($row > 0){
  38.                     while ($linha = mysql_fetch_array($sql)){
  39.                     $paciente = $linha['paciente'];
  40.                     $receita = $linha['receita'];
  41.                     $rep = ("<br>Paciente:".$paciente. "<br>Receita:".$receita."<br><br>");
  42.                     socket_write(@$conn, @$rep, strlen(@$rep));
  43.                 }
  44.         }else{
  45.             $in = "nao encontramos paciente com esse nome";
  46.             socket_write(@$conn, @$in, strlen(@$in));
  47.         }
  48.     }
  49.     // retornar registro de dados com sucesso
  50.     if (strstr("$buffer_resposta","INTO",true)){
  51.         $en = "Seu registro foi gravado";
  52.         socket_write(@$conn, @$en, strlen(@$en));
  53.     }
  54. }  
  55.     echo "<meta HTTP-EQUIV='refresh' CONTENT='0;URL=server.php'>";             
  56. ?>
  57. </body>
  58. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement