как обойтись без fsockopen
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
как обойтись без fsockopen - 2008-08-08 23:26:32.790000
|
|
|
BW07
Сообщений: 43
Оценки: 0
Присоединился: 2007-09-22 18:29:37.170000
|
функцию $connection = fsockopen(
$host_ip,
$port;
$errno,
$errstr,
$time,
);
пытаюсь заменить на: $host_ip = gethostbyname("localhost");
$s=socket_create(AF_INET, SOCK_STREAM, 0);
if(!($res=@socket_connect($s, $host_ip, $port)))
die("Can't connect");
print("<P>Connected"); но при первом варианте дальше работает и при втором вылетает ошибка $char = fgetc($connection)
|
|
|
RE: как обойтись без fsockopen - 2008-08-09 00:43:33.540000
|
|
|
}{roft
Сообщений: 159
Оценки: 0
Присоединился: 2007-11-08 17:18:30.900000
|
Не пойму что за третий параметр здесь: $s=socket_create(AF_INET, SOCK_STREAM, 0); Вообще то создать вот так надо: $s=socket_create(AF_INET, SOCK_STREAM, SOL_TCP); Третий парметр указывает на тип соединения, а ты 0 ставишь.
|
|
|
RE: как обойтись без fsockopen - 2008-08-09 01:17:18.400000
|
|
|
BW07
Сообщений: 43
Оценки: 0
Присоединился: 2007-09-22 18:29:37.170000
|
"в последнем параметре можно указать число 0, потому что тип протокола и так указали." я так уже делал все работало. пробовал заменить не получилось
|
|
|
RE: как обойтись без fsockopen - 2008-08-09 01:35:46.400000
|
|
|
}{roft
Сообщений: 159
Оценки: 0
Присоединился: 2007-11-08 17:18:30.900000
|
Тогда дело в PHP. Поддержка сокетов настроена?
|
|
|
RE: как обойтись без fsockopen - 2008-08-09 02:23:06.573333
|
|
|
BW07
Сообщений: 43
Оценки: 0
Присоединился: 2007-09-22 18:29:37.170000
|
работает в других скриптах(где не пытался заменить) простой фтп клиент на сокетах рабит думаю все настроено библиотеку выкачал
|
|
|
RE: как обойтись без fsockopen - 2008-08-09 03:04:47.916666
|
|
|
}{roft
Сообщений: 159
Оценки: 0
Присоединился: 2007-11-08 17:18:30.900000
|
Поподробнее…Ошибка какая вылетает? Попробуй это: $error_code=socket_last_error($socket);
echo socket_strerror($error_code);
|
|
|
RE: как обойтись без fsockopen - 2008-08-09 22:10:53.183333
|
|
|
BW07
Сообщений: 43
Оценки: 0
Присоединился: 2007-09-22 18:29:37.170000
|
ошибка вылетает в $char = fgetc($connection); "Warning: fgetc(): supplied resource is not a valid stream resource in Y:\home\test10.ru\www\dc\dc.php on line 63" но похоже fsockopen() и socket_create(), socket_connect() для разных целей "fsockopen() возвращает указатель файла, который может использоваться другими функциями (такими как fgets(), fgetss(), fputs(), fclose() и feof())" или можно воспльзоватся функцией fgetc() с socket_create(), socket_connect()?
|
|
|
RE: как обойтись без fsockopen - 2008-08-09 23:01:04.823333
|
|
|
}{roft
Сообщений: 159
Оценки: 0
Присоединился: 2007-11-08 17:18:30.900000
|
Эх…не понял я первый пост твой до конца…Конечно… Для того чтобы ответы сервера читать, если ты воспользовался функцией socket_create() делаешь так: socket_connect($socket,$addres,$port); //Создаешь соединение с другим сокетом
socket_read($socket,$length,$type);//Считываешь ответы сокета сервера
socket_write($socket,$buffer,$length);//Посылаешь информацию сокету серверу
Если же используешь функцию fsockopen() - тогда конечно можно использовать функции как при работе с файлами.
|
|
|
|
|