2012-04-03 14 views
1

sinatraウェブサーバーを作成するためにthis codeを取得し、expressを使用して独自のNode.jsバージョンを作成しました。その後、私はthis codeをiPhone上で動作させてサーバーからデータを取得します。 iPhoneアプリは '/sushi.json'のHTTPリクエストを送信し、サーバはapp.get('/sushi.json', function(request, response))でこれを処理します。その後、サーバーはJSON文字列をiOSアプリに送信し、iOSアプリはそれを解析して配列を解析して使用します。iPhoneアプリケーションからNode.js Webサーバーにデータを送信

しかし、もし私がしたい場合はデータからサーバーを送信しますか? iPhoneアプリケーションでは、JSON文字列をどのように構築して送信すればよいのですか?また、サーバーはそれをどのように監視しますか?

また、これを動作させるためにsocket.ioを使用する必要はありませんでした。ここで使うべきものなのでしょうか?

答えて

2

いいえ、socket.ioは、サーバーとクライアントの間で永続ストリームを維持する場合に使用します。その主な用途は、クライアントがデータをクライアントに要求するのではなく、クライアントにデータをプッシュできるようにする必要がある場合です。いくつかのJSONを投稿する

あなたが以前のようにやや異なってリクエストオブジェクトを作成し、同じコードを使用します。

__autoreleasing NSError* error = nil; 
id result = [NSJSONSerialization JSONObjectWithData:data 
              options:kNilOptions error:&error]; 

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: 
                 result, @"my_json", nil]; 

NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" 
              path:@"/myobject" parameters:params]; 

あなたは

JSON.parse(request.params['my_json']) 
+0

を介してサーバ上のデータを取得するのHttpClientは何ですか? – neuromancer

+0

NSMutableURLRequestのパラメータ:メソッドはありません。 – neuromancer

+0

答えは後でもっと詳しく説明しますが、httpClientは使用している[AFNetworking](https://github.com/afnetworking/afnetworking)ライブラリのクラスのインスタンスです。リンクを見て、ドキュメントをチェックすれば、それを理解できるかもしれません。グーグルの「afnetworking send data to server」も役に立ちます。 –

関連する問題