这是我在这里的第一个问题。我希望我能找到答案。主题是,我有服务器(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();
}
}
}
}