简体   繁体   中英

Unable to read data sent from socket server in java

i want to make communication between android device and java server. Server side:

    ServerSocket serverSocket = new ServerSocket(port);
    Socket socket = serverSocket.accept();
    OutputStream out = socket.getOutputStream();
    PrintStream pw = new PrintStream(out);
    pw.print("hello");
    pw.flush();                       
    socket.close();

Android client side :

   public class connectTask extends Thread {
    @Override
    public void run() {
        super.run();
            while (true) {
                try {
                Socket socket = new Socket("192.168.0.101", 4444);
                InputStream inputStream = socket.getInputStream();
                BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
                String line = reader.readLine();
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        textView.setText(line);
                    }
                });
                socket.close();
                } catch (IOException e) {                     
            }}}}

and starting thread this way:

 thread = new Thread(new connectTask());
 thread.start();

the problem is I cannot get anything from java server. I either send or receive data wrong and i can't figure out what's the issue, what am I doing wrong here?

您的代码看起来不错(可能是String line = ...应该是final String line = ... ),并且需要检查Server的IP地址和端口。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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