0

私はiPadアプリをやっています。実際、私はJavaアプレットアプリケーションをiPadバージョンに変換しています。私はたくさんの問題を抱えています。

元のJavaアプレットコードには、http POSTリクエストがあり、Javaサーバーからデータを受け取ります。

        httpCon=(HttpURLConnection) cmdURL.openConnection();
        httpCon.setRequestMethod("POST");
        httpCon.addRequestProperty("cmd", cmd);
        httpCon.addRequestProperty("arg", arg);
        httpCon.setDoInput(true);

次に、データを受信します。

        inputStream=httpCon.getInputStream();
        ObjectInputStream ois=new ObjectInputStream(inputStream);
        Document doc=(Document)ois.readObject();
        rData[2]=doc;

今、私はobjective-cを使用して同じことをしたいと思います:

NSURL * url = [NSURL URLWithString:@"http://192.168.1.4:801/cmd"];
NSMutableURLRequest * request = [NSMutableURLRequest requestWithURL:url];

[request setHTTPMethod:@"POST"];
[request setValue:[NSString stringWithFormat:@"%@",cmd] forHTTPHeaderField:@"cmd"];
[request setValue:[NSString stringWithFormat:@"%@",arg] forHTTPHeaderField:@"arg"];

[NSURLConnection connectionWithRequest:request delegate:self];

_responseData受信したデータは次のとおりです。

    - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
        _responseData = [NSMutableData data];}

    - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
        [_responseData appendData:data];
    }

それで、私は次に何をすべきですか?そしてDocument、Javaアプレットコードにクラスがありますが、Objective-Cに同様のクラスはありますか?

======= UPDATE =======

Javaサーバーはインスタンスxmlとしてを返しDocumentます。をファイル_responseDataとして直接使用できますか?または、 ?xmlを処理する前に追加の手順を実行する必要があります。_responseData

4

1 に答える 1

0

objCでJavaオブジェクトストリームを使用することはできません。Javaオブジェクトを送信するためのものです

...よく、objectStreamが使用するプロトコルをリバースエンジニアリングすれば可能ですが、それは多くの作業とメンテナンスの地獄です(私は推測します)-私は一般的な交換形式の使用を検討します..jsonまたはxmlかもしれません!

編集後:オブジェクトストリームが送信するxmlはわかりませんが、理論的には、それを解析してカスタムobjCクラスを設定することができます。
また、Documentクラスが何であるか、何をするのか、どこから来たのかもわからないので、Javaに同等のものがあるかどうかはわかりません。私はノーになりがちです。

于 2012-12-11T01:05:30.940 に答える