3

.NET 3.5 Compact Framework でモバイル アプリケーションを作成していて、PHP Slim Framework ページに GET 要求を送信しようとしています。ローカル マシンの Web ブラウザーからページにアクセスしようとすると動作しますが、モバイル デバイスの C# アプリケーションまたはモバイル デバイスの Web ブラウザーからアクセスしようとすると、HTTP 404 が返されます。標準の PHP ページを作成して、現在の時刻を表示し、上記の 3 つすべてで機能するため、問題を特に Slim ページに切り分けます。次のような xampp の access.log も確認しました。

[20/Mar/2013:17:07:38 +0000] "GET /SlimTest/ HTTP/1.1" 200 21 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)"
[20/Mar/2013:17:09:37 +0000] "GET http://10.0.2.15/SlimTest/ HTTP/1.1" 404 523 "-" "-"

1 つ目はローカル マシンからのもので、2 つ目はハンドヘルド デバイスからのものです。ご覧のとおり、最初の要求は正常に完了し、後者には 404 が返されます。

Slim PHP コードは次のようになります。

$app->get('/', function () {
    echo "This is the get route";    
});

C# は次のようになります。

string webResponse = "";
try
{
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://10.0.2.15/SlimTest/");
    WebResponse response = request.GetResponse();
    using (StreamReader streamReader = new StreamReader(response.GetResponseStream()))
    {
        webResponse = streamReader.ReadToEnd();
    }
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

私は Web 開発者ではないことに注意してください。

このプロジェクトでは速度も重要なので、誰かが代替の RESTful PHP フレームワークを提案してくれれば、それが彼らにとって有用であることが証明されていれば、非常にありがたいです。

最後に、簡単な洞察のために、このプロジェクトには Web ベースのアプリケーションと、Web サービスと通信するハンドヘルド モバイル アプリケーションがあります。コストを削減するためにLinuxボックスでホストできるように、スリムを使用してPHPで記述されたWebサービスを取得しようとしています。繰り返しますが、誰かが提案/代替案を持っている場合は、私も同様に感謝します.

ありがとう

4

1 に答える 1

0
  • モバイル アプリを Visual Studio またはモバイル デバイスから直接実行していますか?
  • モバイル デバイスが正しいネットワーク (10.0.2.x) にアクセスできることを確認しますか?
  • Slim について心配する必要はありません。ニーズに完全に適合します。
于 2013-07-09T08:45:57.897 に答える