本文已参与「新人创作礼」活动,一起开启掘金创作之路。
1.写一个可以提供回答问题的服务平台的软件 以一问一回的方法完成
实现代码:
//服务器端
package com.zhangyufan.net;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class AnswerServer {
public static void main(String[] args) throws UnknownHostException, IOException {
ServerSocket ss = new ServerSocket(10000);
while (true) {
Socket s = ss.accept();
InputStreamReader isr = new InputStreamReader(s.getInputStream());
BufferedReader br = new BufferedReader(isr);
String request = br.readLine();
System.out.println("接收到了客户端的问题:" + request);
PrintWriter pw = new PrintWriter(s.getOutputStream());
System.out.println("请输入对该问题的回答:");
Scanner sc = new Scanner(System.in);
String info = sc.next();
pw.println(info);
pw.close();
}
}
}
//客户端
package com.zhangyufan.net;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class AskClient {
public static void main(String[] args) throws UnknownHostException, IOException {
Socket s = new Socket("192.168.0.104", 10000);
PrintWriter pw = new PrintWriter(s.getOutputStream());
System.out.println("连接已建立....................");
System.out.println("请输入您想要问的问题:");
Scanner sc = new Scanner(System.in);
String info = sc.next();
pw.println(info);
pw.flush();
InputStreamReader isr = new InputStreamReader(s.getInputStream());
BufferedReader br = new BufferedReader(isr);
String advice = br.readLine();
System.out.println("接收到服务器的回答:" + advice);
br.close();
}
}
运行结果: 这里要先说明一下,运行的时候要先运行服务器端,运行起来之后再去运行客户端,然后就会提问了,就可以跟着回答了。以下三张图是我运行起来之后按照顺序依次显示的内容。