クライアントから別のクライアントにデータを送信するiosアプリを作成しています。
iOSクライアントアプリにAFnetworkフレームワークを使用することを計画していますが、ログインも管理するデータ交換の途中にサーバーが必要です。
iOSアプリとサーバー間の接続を試みるためにJavaで小さなプログラムを作成しましたが、それは原始的であり、アプリのhttpプロトコルをサポートしていないと思います。
Javaコードは些細なものであり、他のことをしなければならないことを知っているので、JavaコードとiOSコードの両方を投稿するので、これまでに何があったかがわかります。
私はその問題についてあまり経験がないので、サーバーの簡単な解決策を探しています。
受信と送信の両方を管理する単純なサーバーを教えていただければ。私はios AFnetworkを使用する予定であるという事実に基づいて、私はそれを高く評価します
事前にthx;)
ジャバコード:
class MobileTestServer
{
public static void main(String argv[]) throws Exception
{
String clientSentence;
String capitalizedSentence;
ServerSocket welcomeSocket = new ServerSocket(6789);
System.out.println("Servidor");
while(true)
{
Socket connectionSocket = welcomeSocket.accept();
System.out.println("Connection received from " + connectionSocket.getInetAddress().getHostName());
BufferedReader inFromClient =
new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
clientSentence = inFromClient.readLine();
System.out.println("Received: " + clientSentence);
capitalizedSentence = clientSentence.toUpperCase() + '\n';
outToClient.writeBytes(capitalizedSentence);
}
}
}
iOSコード:
NSMutableDictionary *dataToSend;
[dataToSend setObject:password forKey:login];
AFHTTPClient *httpClient = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://localhost:6789"]];
NSMutableURLRequest *signInRequest = [httpClient requestWithMethod:@"GET" path:@"http://localhost:6789/login" parameters:dataToSend];
signInRequest.timeoutInterval = 15.0;
signInRequest.cachePolicy = NSURLRequestReloadIgnoringLocalAndRemoteCacheData;
AFJSONRequestOperation *signInOperation = [AFJSONRequestOperation JSONRequestOperationWithRequest:signInRequest success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON)
{
NSLog(@"sent");
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON)
{
NSLog(@"not sent");
}];
[httpClient enqueueHTTPRequestOperation:signInOperation];