繁体   English   中英

Android:套接字通讯

[英]Android:socket communication

我正在尝试使用android客户端和java服务器创建简单的应用程序,当我尝试读取服务器回复错误:套接字关闭时,android客户端能够将消息发送到server(java)。 line(if(((receiveMessage = receiveRead.readLine())!= null))

public class ClientConnectorTask extends AsyncTask<String, Void, Integer> {
    private Socket client;
    private PrintWriter printwriter;
    protected Integer doInBackground(String...strings) {
        // validate input parameters
        if (strings.length <= 0) {
            return 0;
        }
        // connect to the server and send the message
        try {
            client = new Socket("192.168.1.4", 7777);
            printwriter = new PrintWriter(client.getOutputStream(),true);

            //while(true){
            InputStream istream = client.getInputStream();
            BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));

            String  receiveMessage;
            while (true){
            //  printwriter.write(strings[0]);
                printwriter.print(strings[0]);
                printwriter.flush();
                printwriter.close();
                if((receiveMessage = receiveRead.readLine()) != null) //receive from server
                {
                    System.out.println(receiveMessage); // displaying at DOS prompt
                } 
            }
            //}

            //client.close();
        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return 0;
    }
    protected void onPostExecute(Long result) {
        return;
    }
}

在循环内关闭PrintWriter毫无意义,在readLine()调用之前将其关闭也没有意义。 关闭Socket的输入或输出流将关闭另一个流和套接字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM