4

Webサーバーに接続し、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形式の応答を返します。応答で設定しているヘッダーの1つは次のとおりです。

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 に答える