Я недавно узнал о работе в сети с помощью java. У меня есть сервер и клиент, которые реализуют двухстороннюю связь. Но я не могу отправлять сообщения постоянно, как мне это сделать?
public class Server {
public static void main(String[] args){
final int port;
Scanner obj = new Scanner(System.in);
System.out.print("Enter chat 2 port: ");
port = obj.nextInt();
ServerSocket ss = new ServerSocket(port);
Socket s = ss.accept();
InetAddress ip = InetAddress.getLocalHost();
System.out.println("IP address of chat 2 is : " + ip);
System.out.println("Connection Established");
PrintStream ps = new PrintStream(s.getOutputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
BufferedReader kb = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String str, str1;
while ((str = br.readLine()) != null) {
System.out.println(str);
str1 = kb.readLine();
ps.println("Server said: " +str1);
}
ps.close();
br.close();
kb.close();
ss.close();
s.close();
System.exit(0);
}
}
}
Клиент:
public class Client {
public static void main(String[] args) {
BufferedReader kb = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter the port of Chat 1: ");
int port = Integer.parseInt(kb.readLine());
Socket s = new Socket("localhost",port);
InetAddress ip = InetAddress.getLocalHost();
System.out.println("IP address of chat 1 is : " + ip);
System.out.println("Connection Established");
PrintStream ps = new PrintStream(s.getOutputStream());
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String str, str1;
while (!(str = kb.readLine()).equalsIgnoreCase("exit")) {
dos.writeBytes("Client said :" + str + "\n");
str1 = br.readLine();
System.out.println( str1);
}
dos.close();
br.close();
kb.close();
s.close();
}
}
Я хочу знать, как поместить некоторые команды в поток .