android客户端在一段时间后没有读

时间:2016-10-02 16:39:06

标签: java android sockets google-api speech-recognition

这是我在这里的第一个问题。我希望我能找到答案。主题是,我有服务器(arduino)。它发送和接收data.it从客户端(android)获取数据时发送数据。 Android端按下按钮时发送数据。 Android也使用Speech to Text(谷歌API)。所以当我们按下按钮或使用语音识别时,客户端发送数据。但它连续读取套接字。我有两种Android设备。一种设备在数据接收方面表现良好,但语音识别效果不佳。一个设备很好地关于语音,但一段时间后插座发生无用。我们必须按下arduino上的重置按钮并重置Android应用程序。 (我的第一个Android设备版本是5.1.1秒是6.0)。对不起我的英语不好。我希望我可以告诉我的问题:)

.
.
.
public void senddata(String asd){

    try {

        PrintWriter out = new PrintWriter(new BufferedWriter(
                new OutputStreamWriter(socket.getOutputStream())),
                true);
        out.println(asd);
        out.flush();
    } catch (UnknownHostException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 .
 .
 .

  class ClientThread implements Runnable {

    @Override
    public void run() {

        BufferedReader inStream = null;


        try {
            InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
            socket = new Socket(serverAddr, SERVERPORT);
            //socket.setSoTimeout(1000);
            // Get the input and output streams
             inStream = new BufferedReader(new
                     InputStreamReader(socket.getInputStream()));


            // Confirm that the socket opened


            // Read messages in a loop until disconnected

            while( true){
                String msg= inStream.readLine();
                Log.e("GELENLER::::",msg);
                gelenkomut=msg;
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        // TODO Auto-generated method stub
                        gelenparse(gelenkomut);

                    }
                });

                // Send it to the UI thread
            }


        } catch (UnknownHostException e1) {
            e1.printStackTrace();
        } catch (IOException e1) {
            e1.printStackTrace();
        }
        finally {
            try {
                inStream.reset();
                inStream.
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }

}

0 个答案:

没有答案