在objective-c中与java服务器通信
Posted
技术标签:
【中文标题】在objective-c中与java服务器通信【英文标题】:Communicaiting with java server in objective-c 【发布时间】:2013-09-16 09:05:20 【问题描述】:我正在开发应用程序,我必须向服务器发送一个十六进制字符串,然后服务器以相同的十六进制字符串向我发送响应。
我尝试使用 ASIHTTP 和简单的 NSURL 连接(Hit and trail ;-))它根本不工作。我试图在 Google 中找到类似与 java 服务器的通信,但没有发现任何有用的东西。
任何帮助,我们如何在objective-c中将十六进制字符串发送到java服务器
我尝试了什么:
NSString * strURL = KbaseURL;
ASIFormDataRequest * request = [ASIFormDataRequest requestWithURL: [NSURL URLWithString: strURL]];
[request setDelegate: self];
//[request setPostValue:_hexString forKey:nil];
[request setPostBodyFilePath:_hexString];
[request setRequestMethod:@"POST"];
[request startAsynchronous];
【问题讨论】:
根本不工作 为什么?什么没用?你期待什么?你能告诉我们你使用的代码吗? 当然 NSString *strURL =KbaseURL ; ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:strURL]]; [请求 setDelegate:self]; //[请求 setPostValue:_hexString forKey:nil]; [请求 setPostBodyFilePath:_hexString]; [请求 setRequestMethod:@"POST"]; [请求启动异步];这种方式我在 ASIHTTP 方法中尝试过 我将您的代码添加到问题中,如果格式错误,请随时重新格式化,我不熟悉 Obj-C 【参考方案1】:根据您的代码,您使用 nil 键发送值,您应该为其设置一个键。并且需要通过webservice接收,webservice url应该是KbaseURL。
【讨论】:
实际上它是一个 Java 服务器,将 hexa key 发布到服务器是没有 key 的。基本 url 是简单的 URL “xyz.co.in/servlet”。我必须发布一个密钥【参考方案2】:好的,它可以使用 ASIHTTP 方法
我要做的就是:
[ request setRequestMethod:@"POST"];
[request addRequestHeader:@"Accept" value:@"application/json"];
[request addRequestHeader:@"content-type" value:@"application/json"];
[request setPostBody:[NSMutableData dataWithData:[_hexString dataUsingEncoding:NSASCIIStringEncoding]]]; // where hexstring is hexa decimal string
【讨论】:
将您的答案标记为已接受,以便您获得声誉,并将您的问题从未回答列表中删除。以上是关于在objective-c中与java服务器通信的主要内容,如果未能解决你的问题,请参考以下文章
Java <-> Java/C#/Objective-C 之间的通信
如何通过 OpenSSL 在 Shell 中与 IMAP 服务器通信