Java: Distingushing between end of one message and end of the stream
我正在使用SSH编写一个写到命令行的小程序,因此通常在输入一些内容后即可获得输出。
所以现在我正在读取这样的输出:
1 2 3 4 5 6 7 8 9 10 11 12 | new Thread() { public void run() { int character; try { while ((character = output.read()) != -1) { string += character; } } catch (IOException e) { e.printStackTrace(); } } }.start(); |
到目前为止,我正在控制流的结尾。 但是,我希望能够估计一条消息的结束时间(不必只一行),这意味着我分别将远程输出传递给已发送的输入。
有可能这样做吗?
例如,当我通过SSH登录时,我发送命令" ssh user @ server",现在读取线程应该只读取" user @ server的密码:"消息,然后释放对象的锁,以便写入流可以通过 上。 但是我不知道该怎么做...
TCP中没有消息。 它是一个字节流。 如果需要消息,则必须自己定义和实现。 在某些简单的情况下,一行是一条消息。 正如您所说的,情况并非如此,您可以自行定义。