Передача массива через сокеты

Статус
В этой теме нельзя размещать новые ответы.

uNknownMark

Постоялец
Регистрация
22 Сен 2007
Сообщения
393
Реакции
170
Добрый день всем. Есть такая задача:
Есть скрипт А расположенный на локальной машине на веб-серевере который соединяется с помощью сокетов с скриптом Б который расположен на хостинге в инете.
Скрипт А посылает на скрипт Б методом POST запрос, после того как скрипт Б отработает он должен вернуть массив.
Вопрос такой как лучше этот массив сохранять?Понятно, что можно просто в скрипте Б выводить значения массива echo, а скриптом А выдергивать их, но этот вариант как мне кажется не очень удобен.
 
Сериализация или JSON.
 
Не совсем понял. Напишу чуть подробнее как я себе сейчас представляю это дело.
Скрипт А:
PHP:
$header .= "GET /administrator/index.php HTTP/1.0\r\n";
$fp = fsockopen ('tcp://www.rrrrr.rr', 80, $errno, $errstr, 30);
if (!$fp) {SaveLog("HTTP ERROR by validate: $errno, $errstr"); exit(1);}

fwrite ($fp, $header);
while (!feof($fp)) {
	$res.= fgets ($fp, 1024);
}
fclose ($fp);
Скрипт Б:
PHP:
bla-bla-bla
//Тут у нас есть массив

Если написать например, foreach ($aArray as $iKey=>$sValue) echo $key.":'.$value;

то в скрипте А в переменной $res кроме кучи http заголовков можно будет также найти и этот массив и спарсить его.
PHP_Master, а что ты имел ввиду?
 
Зачем массив разбивать циклом, а потом обратно фик знает как собирать когда есть, как уже указал PHP_Master, serialize - unserialize?
 
я бы сделал так
PHP:
// кодируем массив
$transfer=base64_encode(serialize($array));
// делаем пересылку .....

// и обратно получаем 
$array=unserialize(base64_decode($_POST['transfer']));
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху