我正在编写一个非常简单的Web服务客户端应用程序。 我有以下问题: 1.是否有一种标准的常用方式来编写Web服务消耗部分,以便它不会干扰主GUI线程?考虑到网络请求需要很短的时间才能完成(但从来不知道),使用主线程是否很常见? 任何指向教程的链接? 2.我看到的所有示例都通过GET调用Web服务。我需要将数据发布到Web服务。 任何已知的使用POST的示例/教程?iPhone - Web服务客户端应用程序
0
A
回答
2
如果您使用的是iPhone的内置Web请求API NSURLConnection,您可以在主线程上运行请求,但是您可以异步地运行该请求,并在返回数据时使用回调代理。这使应用程序响应用户事件。如果解析或处理返回的数据需要太长的时间才能在主线程上运行,那么您应该在主线程上运行NSURLConnection,然后递增地或在下载完成后将响应数据交给辅助线程进行纯计算处理。
可以在非主线程上启动NSURLConnections,但需要在非主线程上创建runloop,并且Apple库中存在随机线程安全性错误的报告。如果您确实需要在非主线程上运行请求,则可以使用第三方库ASIHTTPRequest,但除非是非常特殊的情况,否则您不需要这样做。
生成一个POST请求是直接与NSURLConnection的:
NSString * requestBody = @"format up your body here, which is often form-urlencoded";
NSURL * nsurl = [NSURL URLWithString: @"http://example.com/post_request_receiver"];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:nsurl];
// set appropriate content type here, usually application/x-www-form-urlencoded
[theRequest addValue: @"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[theRequest addValue: [NSString stringWithFormat:@"%d", [requestBody length]] forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody: [requestBody dataUsingEncoding:NSUTF8StringEncoding]];
conn = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self startImmediately:YES];
+0
谢谢。非常好的详细答案 – jkally 2010-07-01 11:18:19
相关问题
- 1. Web服务客户端应用程序
- 2. 在iPhone上运行客户端和服务器的客户端 - 服务器Web应用程序 - 这可能吗?
- 3. 服务器端VS客户端MVC的Web应用程序
- 4. 从Git客户端应用程序中分离Web服务器?
- 5. iphone应用程序教程客户端/服务器
- 6. 服务器客户端应用程序
- 7. 客户端/服务器应用程序
- 8. 客户端 - 服务器应用程序
- 9. weblogic上的Web服务客户端应用程序调用Web服务
- 10. iPhone服务器客户端应用程序
- 11. 客户端服务器应用程序为iPhone
- 12. Ruby on rails服务器应用程序+ IOS iPhone客户端?
- 13. 客户端服务器iPhone应用程序开发
- 14. iPhone客户端服务器应用程序
- 15. .NET客户端web服务编程
- 16. 完全基于Web的iPhone客户端 - 服务器应用程序?
- 17. 如何为WSDL服务生成Web应用程序客户端?
- 18. 桌面客户端Web服务器,聊天应用程序
- 19. Axis2 Web服务客户端应用程序
- 20. 获取客户端应用程序名称到Web服务
- 21. Web应用程序的客户端 - 服务器通信的styleguide
- 22. Web应用程序客户端DNS服务器检测
- 23. C#服务器客户端应用程序(一个服务器多客户端)
- 24. 客户端(Android应用程序) - 服务器(Java应用程序)
- 25. 服务器客户端iphone
- 26. Java Web服务客户端
- 27. Soap Web服务客户端
- 28. Web服务客户端Java
- 29. Python web服务客户端
- 30. Java Web服务客户端:
你读过任何文档? http://developer.apple.com/iphone/library/navigation/index.html 尝试使用谷歌搜索“iPhone XML解析教程” – falconcreek 2010-06-30 17:17:35