在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 之间的通信

如何在 PHP 中与 java 代码进行通信

如何通过 OpenSSL 在 Shell 中与 IMAP 服务器通信

在 django 中与应用程序服务器/网络服务器进行通信的最佳方式是啥[关闭]

在 Anylogic 中与单个块内的两个代理进行通信

如何在 Django API GET 请求中与 websocket 通信?