Im пытается отправить команду через телнет на мой компьютер, который затем посылает команду к последовательному порту, при использовании телнета с помощьюTelnet. Android, вишу на посыле
adb shell
$telnet 172.20.104.203 5334
$h
возвращает данные из команды ч, как никогда когда я пытаюсь сделать это, используя android, он подключается к сокету, я могу видеть это на компьютере, он отправляет команду, но затем, как только он регистрирует, что он отправил, он зависает и появляется «Приложение не отвечает», и оно имеет ожидание или усилие близко, и если я жду, он останется прежним.
Это мой код для телнет части
private static final int TCP_SERVER_PORT = 5334;
private void runTcpClient() {
try {
Socket s = new Socket("172.20.104.203", TCP_SERVER_PORT);
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
//send output msg
String outMsg = "$getPos";
out.write(outMsg);
out.flush();
Log.i("TcpClient", "sent: " + outMsg);
//accept server response
String inMsg = in.readLine() + System.getProperty("line.separator");
Log.i("TcpClient", "received: " + inMsg);
//close connection
s.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
Он регистрирует посыл, но он никогда не журналов прием, я думал, что это может быть что-то делать с количеством данных, которые получены таким образом, я просто послал
$getPos
вместо этого он все еще висит.
Кто-нибудь знает, что может случиться?
Случилось так, что читателю еще не было ничего, чтобы прочитать, мне нужно было заменить это на некоторое время (in.ready() && (line = in.readLine())! = Null) только для строки сделайте это, в то время как у читателя есть данные, которые нужно прочитать, это получилось прекрасным, в конце каждой строки данных в терминах фактических строк его ждет разделитель строк – FabianCook
. Я забыл упомянуть, что вам нужно проверить, есть ли в потоке данные, которые нужно получить. :) – Iain
Да: D, я закончил проект, в котором я нуждался, для: D участвовал в передаче проходящих данных. – FabianCook