JustUserR
И вправду так, нашел в мануале это "исключение".
Цитата:
UDP sockets will sometimes appear to have opened without an error, even if the remote host is unreachable.
Я думал обрабатывать уже fwrite или fread, они то возвращают стабильно false если че. Но это по-индусски
UPD.
Все же что имеем. Посколько fsockopen не всегда возвращает false (и не всегда в $errno чтото оказывается) то сделал проверку на то, получилось ли прочитать чтото. Уже исходя с этого генерировать исключение.
У меня еще вопрос про сокеты появился. Судя из моего кода в первом посте, то в случаее неудачной попытки подключения в $fp попадает false и должно вывестись echo "ERROR: $errno - $errstr<br>\n";. Но почемуто fsockopen не возвращает false, а "делает вид" что все хорошо (если айпи ошибочный) и передает все на
valenok
Я смотрел много таких скриптов (мониторинг сервера игрового). Во всех использовали такой подход при считывании данных из сокета. Идея не моя, поэтому не буду говорить что это хорошо. СПасибо за ман, буду думать как по-другому сделать.
JustUserR
Локаль менял кстати.
А дело все в одной дурацкой штуке))) Помог человек, который подобный скрипт писал. Данные то приходят извне, а у меня настройка на magic_quotes, и оно экранирует все спец символы что в строке. Потому и разница в длине.
Спасибо за советы.
Я не собираюсь целиком юзать этот кусок скрипта, мне для пробы.
Одно дело если б вообще не работало - тогда понятно что ошибка в коде, а так работает, но результат разный на локалке и хостинге. А тут дело не в unread_bytes. В настройках, видимо, но не имею понятия где именно.
Суть его работы - соединяется с сервером CS, получает инфу о нем, возвращает.
Скрипт запускаю на локалке и на хостинге. Результат разный.
На локалке: string(117) "����m127.0.0.1:27016\0NoN-STOP Server\0aim_aggro\0cstrike\0Counter-Strike\0/dw\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
48
На хостинге: string(98) "����m127.0.0.1:27016�NoN-STOP Server�aim_aggro�cstrike�Counter-Strike�/dw��������������"
14
Кодировка страницу utf.
Переставлял сервер уже - тут заметил одну фишку. На апаче 2.0 - работает, на 2.2 - уже вот показывает разницу в этой длине строки.
Поскольку на сайте http://php-myadmin[dot]ru/learning/i[dot][dot][dot]ment-apache[dot]html нашел толковое описание установки и настройки - оставил именно более позднюю версию (на которой работает некорректно). ПОлучается так, что на устаревшем не сконфигурированном апаче отображается нормально, а на настроеном как по вышеуказанному мануалу - фигня происходит. В чем загвоздка тут? Хотелось бы привести к какомуто однообразию, чтоб можно было распарсить строку и не париться, будет ли оно работать на 2.0 апаче, или на 2.2.
Гдето в настройкахх проблема (пхп + апач), но уже все перерыл - не нашел.