Salve a tutti,
ho creato questo socket lato client e server solo che quando vado ad eseguire il mio elaborato in localhost (utilizzo xampp) mi da errore sulle righe del passaggio di dati da form php a variabile.
Ho provato ad usare sia il metodo post che il metodo get ma niente!!
Qualcuno può darmi una mano?!?
Questo è il socket lato client:
<?php
error_reporting(E_ALL);
echo "<h2>Connessione TCP/IP </h2>\n";
// Settaggio variabili client
$host = "127.0.0.1";
$port = 25003;
$message = "Ciao Server questo e' il messaggio ";
echo"<form method=post>";
echo "<input type=textarea name=base> Base<br>";
echo "<input type=textarea name=esponente> Esponente<br>";
echo "<input type=submit name=c2><br>";
echo "<input type=reset name=c3><br>";
echo"</form>";
$base= $_POST['base'];
$esponente= $_POST['esponente'];
$valori= array();
$valori[]=$base;
$valori[]=$esponente;
$valori2=implode("-", $valori);
echo "Ho inviato il messaggio al Server :".$valori2;
// crea socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Socket non creato\n");
// connettiti al server
$result = socket_connect($socket, $host, $port) or die("Impossibile connettersi al server\n");
// invia stringa al server
socket_write($socket, $base, strlen($valori2)) or die("Impossibile inviare i dati al server\n");
// restituisci risposta del server
$result_bis = socket_read ($socket, 1024) or die("Impossibile leggere la risposta del server\n");
echo " ->Risposta del Server :".$result_bis;
//chiudi socket
socket_close($socket);
?>
Questo invece è lato server:
<?php
error_reporting(E_ALL);
/* Si indica allo script di non uscire mentre attende una connessione */
set_time_limit(0);
/* Abilita lo scarico dell'output così si è in grado di vedere cosa passa
* non appena arrivano i dati al server. */
ob_implicit_flush();
// settaggio variabili, il server ascolta sul proprio indirizzo ip
$host = "127.0.0.1";
$port = 25003; //25003;
// setta timeout!
set_time_limit(2110);
// crea socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Creazione socket fallita\n");
// Lega il socket alla porta $port sul server $host
$result = socket_bind($socket, $host, $port) or die("Fallito inizializzazione porta su socket\n");
// Inizio ascolto sulla connessione
$result = socket_listen($socket, 3) or die("Start ascolto socket fallito\n");
// Accetta Connessioni
// Attende l'arrivo di una connessione client
$spawn = socket_accept($socket) or die("Inizializzazione connessione con client fallita\n");
// Legge Client input
$input = socket_read($spawn, 1024) or die("Errore Non riesco a leggere l'input\n");
$input = trim($input);
echo "Messaggio del Cliente : ".$input;
echo "\n Invio la Conversione del Messaggio del Cliente \n";
$valori= array;
$valori=explode("-", $input);
$base=$valori[0];
$esponente=$valori[1];
if($esponente==0)
{
$value=1;
}
else if ($esponente=1)
{
$value=$base;
}
else
{
$base1=$base;
for($ind=2; $ind<$input_1; $ind++)
{
$base=$base*$base1;
}
$value=$base;
}
$output = $value;
socket_write($spawn, $output, strlen ($output)) or die("Errore di scrittura su output\n");
//Chiudi sockets
socket_close($spawn);
socket_close($socket);
?>
Grazie a chi può darmi una mano!!