Mar*_*iff 1 iphone objective-c iphone-sdk-3.0
我正在构建一个IPhone应用程序(第一个),它需要将数据发送到服务器并从服务器响应数据.作为一个.net开发人员,我创建了一个带有2个调用(GetData和SendData)的Web服务,其中1个参数在XML数据中发送.这些将发送和接收呼叫,其将包括媒体内容,例如图片.
我还有什么其他选择来向服务器发送数据(媒体)以及从服务器发送数据(哪些是利弊)?
如果您想最小化编码,可以通过以下方法调用从服务器获得快速HTTP回复:
NSURL* url = [NSURL URLWithString:@"http://mysite.com/my_page.html"];
NSStringEncoding encoding;
NSError* error = nil;
NSString* pageData = [NSString stringWithContentsOfURL:url
usedEncoding:&encoding error:&error];
// Now pageData is a string with the html from that URL, or error will indicate
// any network error that occurred.
Run Code Online (Sandbox Code Playgroud)
NSData有一个类似的方法dataWithContentsOfURL:options:error:,可以处理从服务器获取二进制数据.这两种方法都是同步的,这意味着您的代码在等待来自服务器的响应时会被阻止 - 至少在超时命中或检测到错误之前.
对于异步网络通信,您可以使用其他方法NSURLConnection,这些方法也适用于伴随类NSURLRequest,NSURLResponse以及NSURL.学习最快的方法是通过一目了然的NSURLConnection文档.下面是一些如何使用这些类编写异步HTTP get的示例代码.
我假设你主要考虑HTTP传输,上面的类可以处理大多数交互,包括不同的HTTP请求类型(例如post vs get),不同的编码类型或二进制数据,允许你的应用程序处理每个数据包,因为它到达,挂钩到http级重定向,设置自定义超时等.
还有更多的通信方式,例如使用Bonjour,它可以协助无服务器设置(例如两个iPhone共享一个Wi-Fi连接); 或Game Kit,可以处理点对点蓝牙连接,并提供专为游戏内语音通信而设计的支持.
| 归档时间: |
|
| 查看次数: |
12997 次 |
| 最近记录: |