簡體   English   中英

無法讀取Java中從套接字服務器發送的數據

[英]Unable to read data sent from socket server in java

我想在android設備和java服務器之間進行通信。 服務器端:

    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客戶端:

   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) {                     
            }}}}

並以這種方式啟動線程:

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

問題是我無法從Java服務器獲得任何東西。 我發送或接收數據有誤,我無法弄清楚問題出在哪里,我在做什么錯?

您的代碼看起來不錯(可能是String line = ...應該是final String line = ... ),並且需要檢查Server的IP地址和端口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM