十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
使用Java Socket实现一个猜数字小游戏?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
创新互联公司成立于2013年,是专业互联网技术服务公司,拥有项目网站设计制作、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元浮梁做网站,已为上家服务,为浮梁各地企业和个人服务,联系电话:028-86922220运行截图
Server

Client

完整代码
Server
import java.io.IOException;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Random;
import java.util.Scanner;
public class ServerDemo {
private int flag;
public void server() throws IOException {
//创建一个服务器
System.out.println("服务端启动,等待客户端连接。。。");
PrintWriter out = null;
Scanner getClient = null;
ServerSocket server = null;
Socket client = null;
this.setFlag();
try {
server = new ServerSocket(6666);
//创建一个接收连接客户端的对象
client = server.accept();
System.out.println(client.getInetAddress() + " 已成功连接到此台服务器上。");
//字符输出流
out = new PrintWriter(client.getOutputStream()); //向客户端发送数据
out.println("欢迎来到猜数字小游戏(1-100)!!!");
out.flush();//将缓冲流中的数据全部输出
getClient = new Scanner(client.getInputStream()); //接收客户端发送的数据
//阻塞等待客户端发送消息过来
while (getClient.hasNextLine()) {
String returnMsg = null;
String tmp = getClient.nextLine();
if ("e".equals(tmp)) {
break;
} else if ("c".equals(tmp)) {
returnMsg = "欢迎来到新一轮的猜数字小游戏(1-100)!!!";
this.setFlag();
} else {
int clientInput = Integer.parseInt(tmp);
if (clientInput > flag) {
returnMsg = "你输入的数字大了!!!";
} else if (clientInput < flag) {
returnMsg = "你输入的数字小了!!!";
} else {
returnMsg = "恭喜你,猜中了!!!继续(输入c),退出(输入e)";
}
}
out.println(returnMsg); //向客户端发送数据
out.flush();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
out.close();
getClient.close();
server.close();
}
}
// 生成随机数字
public void setFlag() {
Random r = new Random();
flag = r.nextInt(100);
System.out.println("猜数字小游戏答案:flag = " + flag);
}
public static void main(String[] args) throws IOException {
new ServerDemo().server();
}
}