【发布时间】:2018-05-15 18:24:23
【问题描述】:
我有这种情况:
2 个客户端:c1,c2
1 个服务器:s
我需要从 c1 向 s 发送一条消息 m,然后我需要 s 向 c2 发送一条通知消息。 我正在使用 Java 套接字。 我的代码很简单,可以从 c1 向 s 发送消息:
服务器
try {
ServerSocket listener = new ServerSocket(9090);
System.out.println("Server ready to accept connections");
while (true) {
Socket socket = listener.accept();
try {
BufferedReader in =
new BufferedReader(
new InputStreamReader(socket.getInputStream()));
Scanner x = new Scanner(in);
System.out.println("Client has sent :");
while (x.hasNextLine()){
System.out.println(x.nextLine());
}
PrintWriter out =
new PrintWriter(socket.getOutputStream(), true);
out.println("OK");
out.flush();
} catch (Exception ex) {
System.out.println(ex.getLocalizedMessage());
}
finally
{
socket.close();
}
}
}catch (Exception ex){
System.out.println(ex.getLocalizedMessage());
}
客户
Socket s = null;
try {
s = new Socket("localhost", 9090);
} catch (IOException e) {
System.out.println(e.getLocalizedMessage());
}
try {
PrintWriter out =
new PrintWriter(s.getOutputStream(), true);
out.println("Random Text");
out.flush();
s.shutdownOutput();
//out.close();
} catch (IOException e) {
System.out.println(e.getLocalizedMessage());
}
BufferedReader input = null;
try {
input = new BufferedReader(new InputStreamReader(s.getInputStream()));
} catch (IOException e) {
System.out.println(e.getLocalizedMessage());
}
Scanner y = new Scanner(input);
String answer = "";
while (y.hasNextLine()) {
answer = answer.concat(y.nextLine());
}
System.out.println("Answer :");
System.out.println(answer);
System.out.println(answer);
现在,我如何编辑我的代码来按照我说的做? 非常感谢!
【问题讨论】:
标签: java sockets server notifications client