0

現在、MKNetworkKit を使用して、安静なサーバーからの複数の画像のダウンロードをキャッシュしています。画像に関する補足情報を取得するために、ping を実行する別の安らかなサービスがあります。最初に ping を実行したサーバーはどれでも機能しますが、2 番目のサーバーに ping を実行すると、次のエラーが表示されます。

[操作を完了できませんでした。(NSURLErrorDomain エラー 404)] 2012-08-12 19:51:12.340 [51853:11603]

エラー: エラー ドメイン = NSURLErrorDomain コード = 404 「操作を完了できませんでした。(NSURLErrorDomain エラー 404。)」 UserInfo = 0x73c5490 {Server = Apache-Coyote/1.1、Content-Length = 47、Content-Type = text/html ;charset=ISO-8859-1, Connection=keep-alive, Date=Sun, 12 Aug 2012 23:51:11 GMT} 2012-08-12 19:51:12.341 [MKNetworkOperation operationFailedWithError:] [Line 1280] State: 0

MKNetworkKit は、2 番目のサーバーの URL からデータを取得しようとして、最初のサーバーに ping を実行しています。別の到達可能性オブジェクトを作成する必要があると思いますか? 私が間違っていることは何か分かりますか?または、複数のサブクラスを持つ 1 つのプロジェクトの実装例をどこで見つけることができますか?

編集 次の方法で両方のエンジンを実装します。

@implementation FirstEngine

FirstEngine* _sharedEngine;

+(FirstEngine*)sharedEngine
{
    if(_sharedEngine==nil)
    {
        _sharedEngine = [[FirstEngine alloc] initWithHostName:@"***.**.**.**" customHeaderFields:nil];            
    }
    return _sharedEngine;
}

そして、次のように呼び出します。

$[[FirstEngine sharedEngine] bodyForPath:url verb:verb body:params onCompletion:^(NSDictionary* body)
{}....

また

$[[SecondEngine sharedEngine] bodyForPath:url verb:verb body:params onCompletion:^(NSDictionary* body)
{}....
4

1 に答える 1

1

対話する「すべての」サーバーの AppDelegate に MKNetworkEngine オブジェクトを作成する必要があります。

self.imageCacheEngine = [[MKNetworkEngine alloc] initWithHostName:@"images.myserver.com"];

self.apiEngine =  [[MKNetworkEngine alloc] initWithHostName:@"api.myserver.com"];

画像リクエストを imageCacheEngine に、API リクエストを apiEngine にエンキューします。

于 2012-08-13T09:16:24.970 に答える