2012-04-03 105 views
1

我花了this code制作了sinatra网络服务器,并使用express制作了自己的Node.js版本。然后我得到this code在iPhone上工作以从服务器获取数据。 iphone应用程序发送'/sushi.json'的HTTP请求,服务器用app.get('/sushi.json', function(request, response))来处理。然后,服务器将JSON字符串发送回iOS应用程序,然后将其解析为数组,以便它可以使用它。将数据从iPhone应用程序发送到Node.js网络服务器

但是如果我想发送数据服务器呢?在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 2012-04-04 02:04:53

+0

NSMutableURLRequest中没有参数:方法。 – neuromancer 2012-04-04 08:04:40

+0

稍后我会用更完整的解释更新答案,但httpClient是您正在使用的[AFNetworking]库(https://github.com/afnetworking/afnetworking)中的一个类的实例。查看链接并检查文档,您可能会弄清楚。谷歌搜索'网络发送数据到服务器'也应该有所帮助。 – 2012-04-04 09:33:27

相关问题