无法读取java中从套接字服务器发送的数据

时间:2016-11-02 17:27:32

标签: java android sockets serversocket

我想在android设备和java服务器之间进行通信。 服务器端:

<template>
    <style>
        app-drawer {
            --app-drawer-width: 160px;
        }
        ...
    </style>
</template>

Android客户端:

    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();

以这种方式启动线程:

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

问题是我无法从java服务器获得任何东西。我发送或接收数据错误,我无法弄清楚问题是什么,我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

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