$filename = $SOCKETPATH . '/YDKJ' . $VERSION . $session_id . '.sock'; @unlink($filename); $listen = stream_socket_server('unix://' . $filename, $errno, $errstr); if ($listen) { $continuelistening = 1; while ($continuelistening) { $sockets = array(); $synclist = array(); while (true) { @($socket = stream_socket_accept($listen, 20)); if (!$socket) { $continuelistening = 0; // Aucune nouvelle connexion ni activité depuis 20 secondes... on sort break; } else { $data = freadline($socket); $sp = explode(',', $data); $player_id = $sp[0]; $sockets[$player_id] = $socket; $whatsup = intval($sp[1]); if ($whatsup > 0) { // Si la valeur est positive, on vérifie le nombre de connexions qui ont fait pareil, et si il y en a assez, on déco tout le monde ! $synclist[$player_id] = 1; @fwrite($socket, sizeof($synclist)); // On renvoie à l'utilisateur le combientième il a été à nous envoyer l'info @fread($socket, 1); // On attend la validation if (sizeof($synclist) >= $whatsup) { break; } }
$empty_lines = 0; while (!feof($stdin)) { $line = freadline($stdin); $line = str_replace(array("\n", "\r"), '', $line); if (empty($line)) { break; } $mail['headers'] .= $line . "\r\n"; } // Read Body ($mail['body]) while (!feof($stdin)) { $line = freadline($stdin); // Read variables block and create the header if (preg_match('/^~~VARSTART~~/', $line)) { while (!feof($stdin)) { $line = freadline($stdin); $line = str_replace(array("\n", "\r"), '', $line); if (preg_match('/^~~VAREND~~/', $line)) { break; } $aux = split('~~', $line, 2); $vars[$aux[0]] = $aux[1]; } $mail['body'] .= generate_mail_body($vars); // Append rest of the body to the email } else { $mail['body'] .= $line; } } fclose($stdin); foreach (explode("\r\n", $mail['headers']) as $header) {