Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сокет "пропускает" (не получает) строки с трекера, помогите плз.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
brix
Отправлено: 22 Апреля, 2016 - 20:10:44
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2016  


Помог: 0 раз(а)




Доброго времени.
Уважаемые форумчане, проблема с потерей или неполучением, даже не могу четко сформулировать с чем))
Описание:
есть GPS трекер, отправляет простые строки с координатами на сервер. Сервер с помощью такого PHP скрипта слушает порт и пишет полученное в базу.

PHP:
скопировать код в буфер обмена
  1.  
  2.   ini_set('display_errors', 'On');
  3.  
  4.   $port = 10003;
  5.   $socket=socket_create_listen($port);
  6. //проверка сокета
  7.   if( !$socket ) exit( "На порт: ".$port.socket_strerror( socket_last_error() ) );
  8.   else echo 'Socket_create_listen on '.$port."\r\n";
  9.  
  10. //установка повторного использования сокета
  11.   if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) {
  12.   echo 'Cannot set option: '.socket_strerror(socket_last_error())."\r\n";
  13.   }
  14.   $rval = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR);
  15.         if ($rval === false) {
  16.     echo 'Cannot GET option: '.socket_strerror(socket_last_error())."\r\n";
  17.         } else if ($rval !== 0) {
  18.     echo 'Option SO_REUSEADDR is set';
  19.         }
  20.  
  21. //цикл записи, (убрал часть подключения к базе, там все работает корректно)
  22.  
  23. do {
  24.   $connect = socket_accept($socket);
  25.   $result  = socket_read($connect,1024);
  26.   $l= mysql_query ("INSERT INTO tracks  (text) VALUES ('$result')");
  27.                 mysql_close ();
  28.   }
  29. while(true);



Трекер отправляет строки типа (0**********BR00160422A5131.0715N03115.1547E000.21658060.000000000000L00000000)

и настроен отправлять их каждые 20 секунд.

НО ПРОБЛЕМА, сервер получает данные с интервалом 5 минут в среднем.

Но если отправлять данные через адрессную строку:

http://127[dot]0[dot]0[dot]1:10003/?send=HI

сервер благополучно принимает соединение и записывает в базу, даже если они приходят по пару раз в секунду.
САМОЕ удиВиТЕЛЬНОЕ ПРИ ЭТОМ, проскакивают месседжи от трекера, с нужной периодичностью.
Строки приходят разные. следовательно трекер генерит трафик, но сервер не принимает часть данных.

Подскажите плиз что делаю не так??
Код может сумбурный, сорри новичек. липил из разных источников((
 
 Top
LIME
Отправлено: 23 Апреля, 2016 - 02:26:25
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Тут самое место для node js
Или ратчет но нода полегче
(Добавление)
https://learn[dot]javascript[dot]ru/screencast/nodejs
 
 Top
brix
Отправлено: 23 Апреля, 2016 - 21:39:43
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2016  


Помог: 0 раз(а)




LIME пишет:
Тут самое место для node js
Или ратчет но нода полегче
(Добавление)
https://learn.javascript.ru/screencast/nodejs



То есть на PHP решить вопрос не получится?? или хотя бы намек, в чем может быть проблема??((((
 
 Top
Viper
Отправлено: 23 Апреля, 2016 - 22:52:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




brix пишет:
или хотя бы намек, в чем может быть проблема??
дебаг соединений. Иначе гадание на кофейной гуще.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB