规范信息
规范信息就是让客户端和服务器之间发送的消息遵守一个规范,类似于一个协议。于是,建立一NetMessage类,其中给出消息的各种参数,规定只能发送NetMessage类。这样做可以方便读取和解析,可以从下面代码中体会到。
public class NetMessage {
//BIN为二进制类型信息,STR为字符串类型信息
public static final int BIN = 1;
public static final int STR = 0;
private ENetCommand command; //指定这个消息的指令
private String action; //指定这个信息的动作
private int type; //信息的类型
private int len; //信息的长度
//把传递的消息分为俩种类型:字符串类型和二进制数据。分别用strPara,binPara来存放。
private String strPara;
private byte[] binPara;
}
每次发送一个信息,都应该new一个NetMessage,通过一系列的set方法,把信息参数和内容放到这个NetMessage中。并且send()方法只能接受NetMessage类型的参数,这样就做到了信息的规范,即只能发送NetMessage类型。
完善这个类,把他做成工具
重写这个类的toString方法,当一个NetMessage消息需要发送时,真正发送的其实是他的toStringh后的字符串
@Override
public String toString() {
StringBuffer buffer = new StringBuffer();
if(type == STR) {
if(strPara == null) {
strPara = "";
binPara = strPara.getBytes();
}