0

Java サーバーで printwriter を作成し、Android コードで buffertreader を作成したいと考えています。Androidからメッセージを送信してJavaコンパイラで読むことができることは知っていますが、反対側もやりたいです。Androidで読み取り、サーバーで書き込みます。そのために 2 つのアプリケーションが必要ですか。それぞれのコードを試して間に入れることができるかどうかわからないからです。

アンドロイドコード:

try {

 client = new Socket("10.0.2.2", 4444);  //connect to server
 printwriter = new PrintWriter(client.getOutputStream(),true);
 printwriter.write(messsage);  //write the message to output stream

 printwriter.flush();
 printwriter.close();
 client.close();   //closing the connection

} catch (UnknownHostException e) {

Java サーバー:

    while (true) {
        try {

            clientSocket = serverSocket.accept();   //accept the client connection
            inputStreamReader = new InputStreamReader(clientSocket.getInputStream());
            bufferedReader = new BufferedReader(inputStreamReader); //get the client message
            message = bufferedReader.readLine();

            System.out.println(message);
            inputStreamReader.close();
            clientSocket.close();

        } catch (IOException ex) {

私の問題を読んでくれてありがとう

4

1 に答える 1

0

はい、それらの間で双方向通信を作成できます。必要なのは、クライアント側 (Android) で InputStream を開き、Java サーバー側で OutputStream を開くことだけです。次の方法で実現できます。

アンドロイドコード:

try {

 client = new Socket("10.0.2.2", 4444);  //connect to server
 printwriter = new PrintWriter(client.getOutputStream(),true);
 printwriter.write(messsage);  //write the message to output stream

 printwriter.flush();
 printwriter.close();

 InputStream in = client.getInputStream();

 byte data[] = new byte[1024]
 in.read(data);    ///perform your reading operation here


 client.close();   //closing the connection

} catch (UnknownHostException e) {

Java サーバー:

while (true) {
    try {

        clientSocket = serverSocket.accept();   //accept the client connection
        inputStreamReader = new InputStreamReader(clientSocket.getInputStream());
        bufferedReader = new BufferedReader(inputStreamReader); //get the client message
        message = bufferedReader.readLine();

        System.out.println(message);
        inputStreamReader.close();


        PrintWriter pw = new PrintWriter(clientSocket.getOutputStream());
        pw.write(new String("write data here"));
        pw.flush();
        pw.close();
        clientSocket.close();

    } catch (IOException ex) {
于 2013-03-27T14:18:04.703 に答える