【问题标题】:Sending data from an iPhone app to a Node.js web server将数据从 iPhone 应用程序发送到 Node.js Web 服务器
【发布时间】:2012-04-16 16:02:46
【问题描述】:

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

但是如果我想发送数据服务器呢?在 iPhone 应用程序中,我将如何构建和发送 JSON 字符串,服务器将如何监视它?

另外,我不需要使用 socket.io 来让它工作。这是应该在这里使用的东西吗?

【问题讨论】:

    标签: objective-c ios json node.js socket.io


    【解决方案1】:

    不,如果你想在你的服务器和客户端之间保持一个持久的流,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'])
    

    【讨论】:

    • NSMutableURLRequest中没有参数:方法
    • 我稍后会用更完整的解释更新答案,但 httpClient 是您正在使用的 AFNetworking 库中的一个类的实例。查看链接并检查文档,您可能会弄清楚。谷歌搜索“afnetworking 将数据发送到服务器”也应该有所帮助。
    • @JakubHampl 您是否需要任何外部库才能运行您的代码? (例如AFNetworking)?谢谢。
    • @JakubHampl 编辑:我已将 AFNetworking 添加到我的项目中,但您能否解释一下 httpClient 是什么以及它来自哪个类?谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 2013-06-19
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    相关资源
    最近更新 更多