一、任务要求

  • 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.码云链接

最新文章

  1. java设计模式之--单例模式
  2. css 补漏
  3. springMVC、httpClient调用别人提供的接口!!!(外加定时调用)
  4. java读取properties配置文件的方法
  5. 本地Git环境配置
  6. DDoS攻防战(三):ip黑白名单防火墙frdev的原理与实现
  7. ORA-12560: TNS: 协议适配器错误 解决
  8. work8
  9. HDU 5141
  10. 使用HTML5的页面资源预加载(Link prefetch)功能加速你的页面加载速度
  11. Android简单登录系统
  12. React react-fastclick-alt 移动端点击
  13. php 多维数组转二维数组
  14. C sharp #001# hello world
  15. 关于React setState的实现原理(二)
  16. MySQL创建只读账号
  17. DevOps - CI - Jenkins
  18. PowerBI开发 第六章:数据网管
  19. [整理]zepto的初次使用
  20. memory management

热门文章

  1. 佳能单反SDK 步骤
  2. LeetCode:181.超过经理收入的员工
  3. python 访问权限
  4. 【Git的基本操作九】ssh免密登录
  5. 5 java 笔记
  6. fastadmin中上传配置
  7. MacBook Pro实现共享屏幕(多台mac之间)
  8. linux下安装google-chrome浏览器和chromedriver
  9. Android异常与性能优化相关面试问题-冷启动优化面试问题详解
  10. Codeforce Round #424