起動時にオペレーティングシステムによってJavaプロセスにコンソール(標準入力ストリームと出力ストリーム)が提供されます。私は、複数のコンソールを提供できるオペレーティングシステムがないことを知っています。
したがって、クライアントとサーバーを別々のJavaプロセスとして起動し、それらをTCP経由で通信することをお勧めします。目的に応じて、TelnetやIRCなどの既存の通信プロトコルを実装することができます。これにより、これらのプロトコルに既存のクライアントアプリケーションを使用できるようになりますが、これらのプロトコルはすべて提供されますが、おそらく必要とするか、独自の単純なプロトコルを定義する必要があります。この場合、クライアントも実装する必要があります。あなたはその後、行うことができます
public class Client {
public static void main(String[] args) throws Exception {
Socket s = new Socket(args[0], Integer.parseInt(args[1]));
new Repeater(System.in, s.getOutputStream()).start();
new Repeater(s.getInputStream(), System.out).start();
}
}
public class Server {
public static void main(String[] args) throws Exception {
ServerSocket ss = new ServerSocket(Integer.parseInt(args[0]));
for (;;) {
Socket s = ss.accept();
// simply echo for now. You can do more interesting things here ...
new Repeater(s.getInputStream(), s.getOutputStream()).start();
}
}
}
class Repeater extends Thread {
final InputStream in;
final OutputStream out;
public Repeater(InputStream in, OutputStream out) {
this.in = in;
this.out = out;
}
@Override public void run() {
try {
byte[] buf = new byte[4096];
int r;
while ((r = in.read(buf)) != -1) {
out.write(buf, 0, r);
out.flush();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
:
java Server 55555
と別のコンソール
java Client localhost 55555
内のすべての行を使用すると、後者について移動する
一つの方法は、のような何かを行うことです
そのコンソールに入力すると、サーバーから返されます。
あなたのプロジェクトに幸運を祈る!
この[example](http://stackoverflow.com/questions/3245805)がaproposになるかどうかを確認できます。 – trashgod
私はスイングの解決策がうまくいくことを知っています...しかし、私はこれらのターミナルウィンドウのかなり部分的です。本当にそう簡単なことのようです。 – Quaternion