Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / socket_read получает не все данные / 5 сообщений из 5, страница 1 из 1
23.02.2014, 22:41
    #38569962
motoroller1983
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
socket_read получает не все данные
Сделал сервер GPS трекера,
получаю данные:

Код: php
1.
$buf = socket_read($msgsock, 3072, PHP_NORMAL_READ



и данные записываю в файл

Код: php
1.
fwrite($fp, $buf );



Результат, что я получаю в файле:
STX,01,$GPRMC,184046.000,A,5546.73650,N,03732.00383,E,0.18,0.00,230214,,,A*66,F,,imei:013227009726559,0/7,185.4,Battery=43%,,0,250,02,1E3F,5C7D;A6

Проблема в том что, по спецификации GPS трекер шлет строку большей длинны.
Но вот всю я ее получить не могу, подскажите в чем может быть проблема?
...
Рейтинг: 0 / 0
23.02.2014, 23:01
    #38569974
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
socket_read получает не все данные
> по спецификации GPS трекер шлет строку большей длинны.
> Но вот всю я ее получить не могу, подскажите в чем может быть
> проблема?

Трекер шлет именно одну строку, или несколько строк, разделенных \n или \r?
Во втором варианте следует использовать бинарный режим чтения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.02.2014, 23:17
    #38569978
motoroller1983
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
socket_read получает не все данные
Вот непонятно сколько строк шлет тркер((

если выбираю бинарный режим из все данных трекер отдает только данные одного параметра: Heartbeat text message

Можно ли как-то через PHP_NORMAL_READ получить все строки?
...
Рейтинг: 0 / 0
24.02.2014, 20:29
    #38570916
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
socket_read получает не все данные
motoroller1983,

А читаете то в цикле или все за один раз? Подумалось, может трекер ждет чего-то в ответ? По-хорошему, спецификацию бы на него. В смысле, на его протокол обмена.
...
Рейтинг: 0 / 0
25.02.2014, 12:13
    #38571414
pirovindos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
socket_read получает не все данные
Сокеты выдаю поток байт. Поэтому к вам они могут приходить случайными кусками. Читайте из сокета дальше, должно быть продолжение.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / socket_read получает не все данные / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]