当前位置:首页 > 全部子站 > IT > 思科认证

Java数据报之失序和丢包(2)

来源:长理培训发布时间:2017-12-23 16:13:00

 百度广告

   * 对缓冲的数据包进行排序处理,即按顺序提取同一帧的数据,如果没有找到该序号的帧,则返回空值.
   * @return DataEntry
  private DataEntry getSnData(int sn) {
   for (int i = 0; i < al.size(); i++) {
   if (header.getStreamsize() == de.getStreamsize()) {
     break;
     de = null;
   }
  }

  /**
   * @param sn int
   */
   DataEntry de = null;
   DataEntry back, fore = null;
   de = (DataEntry) al.get(i);
    initvalue = Math.abs(de.getSn() - sn);
     minvalue = initvalue;
    }
   }
  }

  /**
   * @return DataEntry
  private DataEntry seachDeData() {
   for (int i = 0; i < al.size(); i++) {
   System.out.println("sky ::::" + de.getFragmentcounter() + ":" + de.getSn() +
   if (header.getStreamsize() == de.getStreamsize()) {
     break;
   }
   return de;
  /**
   * @return Image
  public java.awt.Image Gereratedata() {
   java.awt.image.BufferedImage bimage = null;
   te b = fetchDataPackets_sn().toByteArray(); 
   bis = new ByteArrayInputStream(b);

   }
   ex1.printStackTrace();
   return bimage;

  public static void main(String args) {
  }
/**
 * @author Administrator
 */
te bytes;
  long streamsize;

  public DataEntry() {

  }

  public DataEntry(int size) {
  }

  public DataEntry(byte b, int i) {
   this.actbytesize = i;

  public byte getByte() {
  }

  public void setBytes(byte b) {
  }

  public void setStreamsize(long size) {
  }

  public long getStreamsize() {
  }

  public int getMinfragment() {
  }

  public synchronized void setSn(int i) {
  }

  public synchronized int getSn() {
  }

  public synchronized int getFragmentcounter() {
  }

  public synchronized void setFragmentcounter(int c) {
  }

  public void setActByteSize(int size) {
  }

  public int getActByteSize() {
  }

  public String toString() {
    "::" + this.actbytesize + " recv DataEntry";
}
 * 报头,处理报头格式
 *
class PacketHeader implements Serializable{
  int fragmentcounter, sn;
te header; //= new byte[HEADER_BUFFER_SIZE];
  int minfragment;

  public PacketHeader() {

  }

  public PacketHeader(long l) {

  }

  public PacketHeader(String s) {
   this.setActByteSize(Integer.parseInt(tm));
   this.setFragmentcounter(Integer.parseInt(tm[1]));
  }

  /**
   * @param sn 文件序列
  public void ArrageSort(int sn) {
   this.setByte();

  public void CalcHeaderInfo(long l) {
   CalcHeaderInfo();
  /**
   */
   fragmentcounter = Math.round( (float) streamsize /
   float critical = (float) streamsize / PacketBody.BODY_BUFFER_SIZE;
0)
   minfragment = (int) (streamsize % PacketBody.BODY_BUFFER_SIZE);

  public byte getHeader() {
   return new byte {it.byteValue()};

  public byte getByte() {
  }
   * 生成报头字节,首先取得数据包头 流尺寸::段片数::段顺序::段实际尺寸 的字节形式,
   */
   ByteArrayOutputStream bos = new ByteArrayOutputStream();
   try {
   bos.write(""r"n".getBytes());
       PacketHeader.HEADER_BUFFER_SIZE - buffer.length);
   }
   ex.printStackTrace();
  }

  public void setStreamsize(long size) {
  }

  public long getStreamsize() {
  }

  public int getMinfragment() {
  }

  public synchronized void setSn(int i) {
  }

  public int getSn() {
  }

  public int getFragmentcounter() {
  }

  public synchronized void setFragmentcounter(int c) {
  }

  public void setActByteSize(int size) {
   setByte();

  public int getActByteSize() {
  }
   * 数据包头的格式为:流尺寸::段片数::段顺序::段实际尺寸
   * @return String
  public String toString() {
    "::" + this.getActByteSize();

  public byte toByte() {
  }
   * 是否为尾段
   * @return boolean
  public boolean isWTailFragment(int i) {
  }

}
 * 用户数据区
 *
class PacketBody implements Serializable{
te body;

  public PacketBody() {

  public void setBody(byte b) {
  }

  public byte getBody() {
  }

  这个数据处理类,将在接下来使用。

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部