Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прием и обработка информации от сервера 
V
    Опции темы
VKlim
Дата 1.2.2007, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 1.2.2007

Репутация: нет
Всего: нет



Народ, у меня такой вопрос. Я пишу на РНР клиент для одной девайсины, управление которой осуществляется через сервер. Мне сервер должен передать один байт информации (думаю, через сокет), которуя я должен принять, разбить на биты, проанализировать каждый и в  соответствии с нулями и единицами выполнить определенные действия. Подскажите, пожалуйста, как мне это сделать. И правильно ли я решил, что принимать этот самый байт надо через сокет? Заранее спасибо!
PM MAIL   Вверх
alligator
Дата 1.2.2007, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



http://ru.php.net/manual/ru/ref.sockets.php -> используешь ф-и socket_*
http://ru.php.net/manual/ru/function.unpack.php -> используешь для работы с информацией
PM MAIL   Вверх
VKlim
Дата 6.2.2007, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 1.2.2007

Репутация: нет
Всего: нет



 smile 
PM MAIL   Вверх
Спец
Дата 6.2.2007, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 2.11.2006

Репутация: нет
Всего: -2



Код

$fp = fsockopen("tcp://".$proxy_ip, intval($proxy_port), $errno, $errstr, 5);

     $get ="GET /passport?mode=register&msg=mail&retpath=http://mail.yandex.ru HTTP/1.0\r\n";
     $get.="User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT5.1; MRA 4.4 (build 01331))\r\n";
     $get.="Accept-Language: ru\r\n";
     $get.="Host: yandex.ru\r\n\r\n";

     fwrite($fp, $get); // записываем в прокси заголовок.

     $buffer= fgets($fp);
     while (!feof ($fp)) {
        $buffer.= fgets($fp);
     }

echo $buffer; // напечатает страницу

этот код работает через http:// прокси, если тебе не нужно соединение через прокси, то сделай так:
$fp = fsockopen("tcp://".$ip, intval($port), $errno, $errstr, 5);
$ip -  это ip адрес или просто домен

//это был GET запрос, а вот пост:

     $data ='idkey='.$_GET['id'].'&step=one&filled=yes&login='.$_GET['login'].'&iname='.$_GET['iname'].'&fname='.$_GET['fname'].'&done=%C4%E0%EB%FC%F8%E5%A0%26%238594%3B';

     $post ="POST /passport?mode=register&ncrnd=".$_GET['id']." HTTP/1.0\r\n";
     $post.="Accept-Language: ru\r\n";
    $post.="Referer: http://passport.yandex.ru/passport?mode=register&msg=mail&retpath=http://mail.yandex.ru\r\n";
     $post.="Content-Type: application/x-www-form-urlencoded\r\n";
     $post.="Accept-Encoding: gzip, deflate\r\n";
     $post.="User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MRA 4.4 (build 01331))\r\n";
     $post.="Host: passport.yandex.ru\r\n";
     $post.="Cookie: yandexuid=".$_GET['cookie']."\r\n";
     $post.="Content-Length: ".strlen($data)."\r\n\r\n".$data;

     fwrite($fp, $post); // записываем в прокси заголовок.

     $byfer = fgets($fp);

     while(! feof($fp) ) {
        $byfer.= fgets($fp);
     }

     echo $byfer;

PM MAIL   Вверх
VKlim
Дата 16.2.2007, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 1.2.2007

Репутация: нет
Всего: нет



Спец, спасибо! smile Не совсем то, что мне нужно, но полезную информацию подчерпнул!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0404 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.