教材代码完成情况测试P402(ch13课上测试)
2024-10-03 21:54:08
一、任务要求
- 0 在Ubuntu中用自己的有位学号建一个文件,教材p402代码
- 1 修改代码,至少增加一个问题和答案
- 2 随机选多个问题中的一个进行提问,服务器要正确回答问题
- 3 提交运行结果截图,要把所有问题都运行到。
二、源代码
添加的内容:
添加的问题:"提交本次测试的时间是几月几号?"
添加的回答:"提交本次测试的时间是2019年5月13日"Client.java
import java.io.*;
import java.net.*;
import java.util.Random;
public class Client {
public static void main(String args[]) {
String [] mess ={"2010世界杯在哪举行?","巴西进入世界杯了码?","中国进入世界杯了码?","提交本次测试的时间是几月几号?"};
Socket mysocket;
DataInputStream in=null;
DataOutputStream out=null;
int i = (int) (Math.random() * 4 + 0);
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(i+"");//传特定的随机值给Server类
out.writeUTF(mess[i]);
String s=in.readUTF(); //in读取信息,堵塞状态
System.out.println("客户收到服务器的回答:"+s);
Thread.sleep(500);
//}
}
catch(Exception e) {
System.out.println("服务器已断开"+e);
}
}
}
- Server.java
import java.io.*;
import java.net.*;
import java.util.Random;
import static java.lang.Integer.parseInt;
public class Server {
public static void main(String args[]) {
String[] answer = {"南非", "进入世界杯了", "哈哈...问题真逗!", "提交本次测试的时间是2019年5月13日"};
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 s1 = in.readUTF();
int i = parseInt(s1);
String s = in.readUTF(); // in读取信息,堵塞状态
System.out.println("服务器收到客户的提问:" + s);
out.writeUTF(answer[i]);
Thread.sleep(500);
//}
} catch (Exception e) {
System.out.println("客户已断开" + e);
}
}
}
三、运行截图
1.问题1
问题:
回答:
2.问题2
问题:
回答:
3.问题3
问题:
回答:
4.问题4
问题:
答案:
SP.码云链接
最新文章
- java设计模式之--单例模式
- css 补漏
- springMVC、httpClient调用别人提供的接口!!!(外加定时调用)
- java读取properties配置文件的方法
- 本地Git环境配置
- DDoS攻防战(三):ip黑白名单防火墙frdev的原理与实现
- ORA-12560: TNS: 协议适配器错误 解决
- work8
- HDU 5141
- 使用HTML5的页面资源预加载(Link prefetch)功能加速你的页面加载速度
- Android简单登录系统
- React react-fastclick-alt 移动端点击
- php 多维数组转二维数组
- C sharp #001# hello world
- 关于React setState的实现原理(二)
- MySQL创建只读账号
- DevOps - CI - Jenkins
- PowerBI开发 第六章:数据网管
- [整理]zepto的初次使用
- memory management