4

我有一个应用程序连接到我的网络服务器并通过 XML 传输数据。我连接的标题是:

POST /app/API/Data/Receiver.php HTTP/1.1
User-Agent: Custom User Agent 1.0.0
Accept: text/xml
Content-Type: text/xml
Content-Length: 1580
Host: servername.com

然后应用程序处理数据并返回其自己的 XML 格式回复。我在响应中设置的标题之一是:

header("Connection: close");

当我从我的 PC (C++) 上的一个简单应用程序发送连接并发送我的数据时,它工作正常,我正确获得了关闭标头,并且一旦数据可用,连接就会关闭。当我使用 GSM 调制解调器和嵌入式应用程序发送完全相同的数据时,连接标头返回为:

header("Connection: keep-alive");

GSM 调制解调器也会一直等待,直到连接关闭后再继续,并且通常只是超时。

有没有办法关闭服务器上的连接,以便 GSM 端不会超时?

4

2 回答 2

2

您的 GSM 服务提供商可能会透明地代理连接。尝试在非标准端口(即不是 80、8080、443)上发送数据

设置缓存控制标头私有也可能有效。

Cache-Control: PRIVATE
于 2012-10-08T22:51:47.150 回答
0

标头只是纯文本,但在 PHP 中发送数据后就无法发送。尝试这个:

echo "\r\n\r\nConnection: close";
die();

并根据您的需要进行调整

于 2012-08-20T13:20:04.730 回答