Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Нужно установить keep-alive соединение |

14.03.2010, 09:08
|
|
Участник форума
Регистрация: 12.03.2008
Сообщений: 254
Провел на форуме: 12333903
Репутация:
238
|
|
Нужно установить keep-alive соединение
Дело обстоит так,есть одна не плохая он-лайн игрушка,а именно http://vkontakte.ru/app1641757
Так вот,при входе она соединяется с сервером 188.93.18.202:4321 (сервер:порт)
Мне нужно установить такое соединение с данным сервером средствами php,с возможностью отправки запросов на данный сервер.
Пробовал уже через сокс,сокс5,ничего,от сервера просто нет ответа...
|
|
|

14.03.2010, 13:15
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Mixon fsockopen/socket_create и прочитайте целиком RFC2068, ну или хотя бы раздел keep-alive header
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|

14.03.2010, 14:50
|
|
Участник форума
Регистрация: 12.03.2008
Сообщений: 254
Провел на форуме: 12333903
Репутация:
238
|
|
Gifts, если вы прочтёте внимательнее что я выше написал,то вы увидите,что я уже пробовал и fsockopen и socket_create,результата не дало!
По этому и обратился за помощью суда.
|
|
|

14.03.2010, 15:14
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Mixon Вы написали XYZню. Много разных слов, которые не образуют общей картины. Весь текст, это ваша просьба написать панацею к вашей проблеме и в конце маленькая приписка: "Пробовал уже через сокс,сокс5" - во первых, это понимается как прокси сервера, какое отношение к keep-alive? Правильно, никакого. Во-вторых, скорее всего (об этом чуть далее), даже если вы ставите Connection: keep-alive, вы не ставите заголовок с таймаутом и вас отфутболивает автоматом, или заголовков не шлете нужных. В-третьих, я говорю "скорее всего", потому что ни примера кода, ни конструктивного текста с "попытками" в вашем посте нет, только полное непонимание
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|

14.03.2010, 16:30
|
|
Участник форума
Регистрация: 12.03.2008
Сообщений: 254
Провел на форуме: 12333903
Репутация:
238
|
|
Gifts такс,тут если бы сервер отфутболивал (давал ошибку или просто обрывал соединение) то было бы по понятнее,но он просто никакого ответа не дает,абсолютно...Аналог того,когда тебя банят по IP,просто висиш,и страница не грузиться.
Вот пару примеров что я пробовал...
Код:
$fp = fsockopen ("tcp://188.93.18.202", 4321, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
// fputs ($fp, "GET / HTTP/1.0\r\nHost: 188.93.18.202\r\n\r\n");
while (!feof($fp)) {
echo fgets ($fp,128);
}
fclose ($fp);
}
тут место tcp прописывал все поддерживавшийся протоколы...
Код:
$fp = fsockopen("188.93.18.202", 4321, $errno, $errstr, 30);
$out="GET /index.php HTTP/1.1\r\n";
fwrite ($fp, $out);
echo fgets($fp,5000);
fclose($fp);
Код:
<?php
$sh = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($sh, '188.93.18.202', '4321');
$headers = "GET / HTTP/1.0\r\n";
$headers .= "Host: 188.93.18.202\r\n";
$headers .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 MRA 5.3 (build 02557) Firefox/3.0.6\r\n";
$headers .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
$headers .= "Accept-Language: ru,en-us;q=0.7,en;q=0.3\r\n";
$headers .= "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
$headers .= "\r\n";
socket_write($sh, $headers, strlen($headers));
$result = '';
while ($r = socket_read($sh, 1024)) $result .= $r;
echo $result;
?>
Последний раз редактировалось Mixon; 14.03.2010 в 16:42..
|
|
|

14.03.2010, 19:00
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Mixon На этом порту не HTTP протокол, вы бы хоть Wireshark'ом пользовались.
Протокол XML, каждый пакет завершается нулл-байтом.
PHP код:
$f = fsockopen('tcp://188.93.18.202',4321) or die('cant connect');
fwrite($f, "<policy-file-request/>\x00");
$str = fread($f,4096);
while (substr($str, -1)!=="\x00") $str.=fread($f,4096);
echo $str;
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|

14.03.2010, 22:33
|
|
Участник форума
Регистрация: 12.03.2008
Сообщений: 254
Провел на форуме: 12333903
Репутация:
238
|
|
Gifts,спс огромное!
Вирешарком я сниффил,но я мало знаюсь в сетевых передачах,по этому я мало что там понял,и как это реализовать...=((
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|