当前位置: 首页 > 编程语言 > Java > 正文

Java编程那些事儿109——网络编程示例2

时间:2010-03-20 csdn 陈跃峰

13.3.2 猜数字小游戏

下面这个示例是一个猜数字的控制台小游戏。该游戏的规则是:当客户端第一次连接到服务器端时,服务器端生产一个「0,50」之间的随机数字,然后客户端输入数字来猜该数字,每次客户端输入数字以后,发送给服务器端,服务器端判断该客户端发送的数字和随机数字的关系,并反馈比较结果,客户端总共有5次猜的机会,猜中时提示猜中,当输入“quit”时结束程序。

和前面的示例类似,在进行网络程序开发时,首先需要分解一下功能的实现,觉得功能是在客户端程序中实现还是在服务器端程序中实现。区分的规则一般是:客户端程序实现接收用户输入等界面功能,并实现一些基础的校验降低服务器端的压力,而将程序核心的逻辑以及数据存储等功能放在服务器端进行实现。遵循该原则划分的客户端和服务器端功能如下所示。

客户端程序功能列表:

1、接收用户控制台输入

2、判断输入内容是否合法

3、按照协议格式发送数据

4、根据服务器端的反馈给出相应提示

服务器端程序功能列表:

1、接收客户端发送数据

2、按照协议格式解析数据

3、判断发送过来的数字和随机数字的关系

4、根据判断结果生产协议数据

5、将生产的数据反馈给客户端

在该示例中,实际使用的网络命令也只有两条,所以显得协议的格式比较简单。

其中客户端程序协议格式如下:

1、将用户输入的数字转换为字符串,然后转换为byte数组

2、发送“quit”字符串代表退出