教材代码完成情况测试P402(ch13课上测试)
标题
教材代码完成情况测试P402(ch13课上测试)
要求
0 在Ubuntu中用自己的有位学号建一个文件,教材p402代码
1 修改代码,至少增加一个问题和答案
2 随机选多个问题中的一个进行提问,服务器要正确回答问题
3 提交运行结果截图,要把所有问题都运行到。
import java.io.*;
import java.net.*;
public class Server {
public static void main(String args[]) {
String [] answer ={"不清楚"};
ServerSocket serverForClient=null;
Socket socketOnServer=null;
DataOutputStream out=null;
DataInputStream in=null;
try { serverForClient = new ServerSocket(2010);
}
catch(IOException e1) {
System.out.println(e1);
}
try{ System.out.println("等待客户呼叫");
socketOnServer = serverForClient.accept(); //堵塞状态,除非有客户呼叫
out=new DataOutputStream(socketOnServer.getOutputStream());
in=new DataInputStream(socketOnServer.getInputStream());
for(int i=0;i<answer.length;i++) {
String s=in.readUTF(); // in读取信息,堵塞状态
System.out.println("服务器收到客户的提问:"+s);
out.writeUTF(answer[i]);
Thread.sleep(500);
}
}
catch(Exception e) {
System.out.println("客户已断开"+e);
}
}
}
import java.io.*;
import java.net.*;
public class Client {
public static void main(String args[]) {
String [] mess ={"你知道怎么去北京电子科技学院吗?"};
Socket mysocket;
DataInputStream in=null;
DataOutputStream out=null;
try{ mysocket=new Socket("127.0.0.1",2010);
in=new DataInputStream(mysocket.getInputStream());
out=new DataOutputStream(mysocket.getOutputStream());
for(int i=0;i<mess.length;i++) {
out.writeUTF(mess[i]);
String s=in.readUTF(); //in读取信息,堵塞状态
System.out.println("客户收到服务器的回答:"+s);
Thread.sleep(500);
}
}
catch(Exception e) {
System.out.println("服务器已断开"+e);
}
}
}
代码链接
https://gitee.com/yukungbhy/yukun-20155335/commit/fff3c606b15e77e4bc6d3a0a61837f4b38d2454b