Прозрачный режим SIM900D для веб-сервера позволяет передавать только один раз

Я использовал эту серию AT-команд, чтобы иметь возможность подключаться и передавать / получать данные с моего ноутбука через модуль GSM / GPRS SIM900D.

https://stackoverflow.com/questions/2...icrocontroller

введите здесь описание изображения

TCP-соединение не прекращается до тех пор, пока одна из двух конечных точек не решит разорвать TCP-соединение. С другой стороны, когда я попытался подключиться к нашему веб-серверу (например, AT+CIPSTART="TCP","www.mydomain.com ","80")

Он устанавливает соединение. Но если модуль GPRS не сразу отправляет какие-либо данные, вскоре веб-сервер разрывает TCP-соединение. Если я попытался отправить, отправив URL-адрес (например, PUT /send.php?g0=21 HTTP/1.1\r \nHost: dlsu-ect.com\r\n\r\n$1A\r), веб-сервер получает данные, но прекращает работу сразу после передачи. Прозрачный режим разрешает только одну передачу на TCP-соединение.

Я делаю это правильно? Подходит ли мой способ передачи данных на наш веб-сервер для прозрачного режима?


person Xegara    schedule 21.11.2013    source источник


Ответы (1)


Если ваш запрос правильно сохраняет данные на сервер, вы можете попробовать добавить заголовок, который требует, чтобы сервер не закрывал соединение сразу после ответа на первый запрос.

Попробуйте отправить:

PUT /send.php?g0=21 HTTP/1.1\r\n
Host: dlsu-ect.com\r\n
Connection: Keep-alive\r\n
Content-length: 3\r\n
\r\n
$1A\r\n
\r\n

Это должно поддерживать ваше соединение, в зависимости от конфигурации сервера. Поскольку некоторые серверы не разрешают поддерживать соединения, это может не сработать. Вы также можете протестировать поддержку активности с помощью telnet, прежде чем сразу пытаться сделать это на Sim900.

Также обратите внимание, что время ожидания между запросами сильно различается между серверами. Некоторые позволяют только несколько секунд между запросами.

person Jervelund    schedule 23.07.2014