首页 文章

SIM900D透明模式到Web服务器只允许传输一次

提问于
浏览
0

我使用这一系列的AT命令,能够通过SIM900D GSM / GPRS模块与我的笔记本电脑连接和发送/接收数据 .

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

enter image description here

TCP连接不会结束,直到两个 endpoints 中的任何一个决定终止TCP连接 . 另一方面,当我尝试连接我们的网络服务器时(例如AT CIPSTART =“TCP”,“www.mydomain.com” , “80”)

它实现了连接..但是如果GPRS模块没有立即发送任何数据,很快网络服务器终止TCP连接..如果我尝试通过发送网址发送(例如PUT /send.php?g0=21 HTTP / 1.1 \ r \ n \ n主持人:dlsu-ect.com \ r \ n \ r \ n $ 1A \ r),网络服务器接收数据,但在传输完成后终止 . 透明模式仅允许每个TCP连接一次传输 .

我做得对吗?我的方式是将数据传输到我们的网络服务器是透明模式的正确方法吗?

1 回答

  • 0

    如果您的请求正确地将数据保存到服务器,您可以尝试添加一个标头,该标头在响应第一个请求后请求服务器不立即关闭连接 .

    尝试发送:

    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
    

    这应该保持您的连接活动,具体取决于服务器配置 . 由于某些服务器不允许保持活动连接,因此可能无效 . 在尝试立即在Sim900上执行此操作之前,您还可以使用telnet测试保持活动状态 .

    另请注意,请求之间的超时在服务器之间差异很大 . 有些只允许请求之间的几秒钟 .

相关问题