KLALB完全大重写,代码规范了,可以当作网络库使用

This commit is contained in:
Administrator
2023-06-23 08:34:15 +08:00
parent 0499ecb34d
commit f743b23e53
154 changed files with 2985 additions and 15058 deletions
@@ -0,0 +1,68 @@
package org.kne.cloud.network.klalb;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
public class DATATPacket extends KLALBPacket {
@Override
public long getLength() {
return super.getLength()+18+data.length;
}
private int sport,dport;
private long number;
private byte[]data;
public DATATPacket(int sport,int dport,long number,byte[]data) {
super(DATAT);
this.sport=sport;
this.dport=dport;
this.number=number;
this.data=data;
}
public DATATPacket() {
super();
}
public int getSport() {
return sport;
}
public int getDport() {
return dport;
}
public long getNumber() {
return number;
}
public byte[] getData() {
return data;
}
@Override
public String toString() {
return "DATAT "+sport+"->"+dport+" "+number+"["+data.length+"]";
}
@Override
protected void writeToStream(DataOutput dto) throws IOException {
super.writeToStream(dto);
dto.writeInt(sport);
dto.writeInt(dport);
dto.writeLong(number);
dto.writeChar(data.length);
dto.write(data);
}
@Override
protected void readFromStream(DataInput din) throws IOException {
super.readFromStream(din);
sport=din.readInt();
dport=din.readInt();
number=din.readLong();
data=new byte[din.readChar()];
din.readFully(data);
}
}