1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
<?
var_dump('<pre>',$_REQUEST,'</pre>');die();
include("winpharma/tests/final/xmlrpc.inc");
// Autorise l'exécution infinie du script, en attente de connexion.
set_time_limit(0);
// Active le vidage implicite des buffers de sortie, pour que nous
// puissions voir ce que nous lisons au fur et à mesure.
ob_implicit_flush();
$address = '192.168.1.15';
$port = 8061;
$ip = $_SERVER["REMOTE_ADDR"];
// Crée la socket
if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) {
echo "socket_create() a échoué : raison : " . socket_strerror($sock) . "\n";
}
// Lie un nom à la socket
if (($ret = socket_bind($sock, $address, $port)) < 0) {
echo "socket_bind() a échoué : raison : " . socket_strerror ($ret) . "\n";
}
// Ouvre la socket sur le port
if (($ret = socket_listen($sock, 5)) < 0) {
echo "socket_listen() a échoué : raison : " . socket_strerror ($ret) . "\n";
}
do{
// Accepte la connexion
if (($msgsock = socket_accept($sock)) < 0) {
echo "socket_accept() a échoué : raison : " . socket_strerror ($msgsock) . "\n";
}
// Crée la socket
if (false === ($buf = socket_read($msgsock, 2048))) {
echo "socket_read() a échoué : raison : " . socket_strerror ($ret) . "\n";
}
/*
.
.
.
. [TRAITEMENT => utilisation de $buf et envoi du retour dans $flux]
.
.
.
*/
//Envoi du retour XML
$contentLength = strlen($flux);
$send = "HTTP/1.1 200 OK\n";
$send .= "Content-Type: text/xml; charset=utf-8\r\n";
$send .= "Content-Length: " . $contentLength . "\r\n\r\n";
$send .= $flux;
$send .= "\r\n";
socket_write($msgsock, $send, strlen($send));
socket_shutdown($msgsock,2);
socket_shutdown($sock,2);
}while(true);
?> |
Partager