public PingMessage2(int connectId, int clientId, int pingId) { ByteShortConvert.toByteArray(ver, dpData, 0); //add: ver ByteShortConvert.toByteArray(sType, dpData, 2); //add: service type ByteIntConvert.toByteArray(connectId, dpData, 4); //add: sequence ByteIntConvert.toByteArray(clientId, dpData, 8); //add: sequence ByteIntConvert.toByteArray(pingId, dpData, 12); //add: sequence dp = new DatagramPacket(dpData, dpData.Length); }
public PingMessage(int connectId, int clientId, int pingId, int downloadSpeed, int uploadSpeed) { ByteShortConvert.toByteArray(ver, dpData, 0); //add: ver ByteShortConvert.toByteArray(sType, dpData, 2); //add: service type ByteIntConvert.toByteArray(connectId, dpData, 4); //add: sequence ByteIntConvert.toByteArray(clientId, dpData, 8); //add: sequence ByteIntConvert.toByteArray(pingId, dpData, 12); //add: sequence ByteShortConvert.toByteArray((short)(downloadSpeed / 1024), dpData, 16); ByteShortConvert.toByteArray((short)(uploadSpeed / 1024), dpData, 18); dp = new DatagramPacket(dpData, dpData.Length); }
public CloseMessage_Conn(int connectId, int clientId) { byte[] dpData = new byte[12]; this.clientId = clientId; this.connectId = connectId; ByteShortConvert.toByteArray(ver, dpData, 0); ByteShortConvert.toByteArray(sType, dpData, 2); ByteIntConvert.toByteArray(connectId, dpData, 4); ByteIntConvert.toByteArray(clientId, dpData, 8); dp = new DatagramPacket(dpData, dpData.Length); }
public CloseMessage_Stream(int connectId, int clientId, int closeOffset) { byte[] dpData = new byte[16]; this.clientId = clientId; this.connectId = connectId; ByteShortConvert.toByteArray(ver, dpData, 0); //add: ver ByteShortConvert.toByteArray(sType, dpData, 2); //add: service type ByteIntConvert.toByteArray(connectId, dpData, 4); //add: sequence ByteIntConvert.toByteArray(clientId, dpData, 8); //add: sequence ByteIntConvert.toByteArray(closeOffset, dpData, 12); //add: sequence dp = new DatagramPacket(dpData, dpData.Length); }
public static Packet buildIpV4( MacAddress srcAddress_mac, MacAddress dstAddrress_mac, IpV4Packet.Builder builder_ipv4) { org.pcap4j.packet.Packet.Builder builder = null; EthernetPacketType etherType; //EtherType etherType = null; Packet p = null; if (ppp) { etherType = EthernetPacketType.PointToPointProtocolOverEthernetSessionStage; //etherType = EtherType.PPPOE_SESSION_STAGE; UnknownPacket.Builder pppBuilder = new UnknownPacket.Builder(); byte[] ipData = builder_ipv4.build().getRawData(); byte[] lenb = new byte[2]; ByteShortConvert.toByteArray((short)(ipData.length + 2), lenb, 0); byte[] pppHead = new byte[8]; System.arraycopy(pppHead_static, 0, pppHead, 0, pppHead.length); System.arraycopy(lenb, 0, pppHead, 4, 2); byte[] newData = new byte[pppHead.length + ipData.length]; System.arraycopy(pppHead, 0, newData, 0, pppHead.length); System.arraycopy(ipData, 0, newData, 8, ipData.length); pppBuilder.rawData(newData); builder = pppBuilder; } else { etherType = EtherType.IPV4; builder = builder_ipv4; } EthernetPacket.Builder etherBuilder = new EthernetPacket.Builder(); etherBuilder.dstAddr(dstAddrress_mac) .srcAddr(srcAddress_mac) .type(etherType) .payloadBuilder(builder) .paddingAtBuild(true); p = etherBuilder.build(); return(p); }
public void create(int timeId) { this.timeId = timeId; dpData = new byte[this.length + 16 + 8]; ByteShortConvert.toByteArray(ver, dpData, 0); //add: ver ByteShortConvert.toByteArray(sType, dpData, 2); //add: service type ByteIntConvert.toByteArray(connectId, dpData, 4); //add: sequence ByteIntConvert.toByteArray(clientId, dpData, 8); //add: sequence ByteIntConvert.toByteArray(this.sequence, dpData, 12); //add: sequence ByteShortConvert.toByteArray((short)this.length, dpData, 16); //add:length ByteIntConvert.toByteArray(this.timeId, dpData, 18); //add: sequence Array.Copy(this.data, 0, dpData, 22, this.length); dp = new DatagramPacket(dpData, dpData.Length); dp.setAddress(dstAddress); dp.setPort(dstPort); }
public AckListMessage(long connId, List <int> ackList, int lastRead, //ArrayList ackList Dictionary <int, SendRecord> sendRecordTable, int timeId, int connectId, int clientId) { this.clientId = clientId; this.connectId = connectId; this.ackList = ackList; this.lastRead = lastRead; int len1 = 4 + 4 + 10 + 4 * ackList.Count; dpData = new byte[len1 + 24 + 9]; sType = MessageType.sType_AckListMessage; ByteShortConvert.toByteArray(ver, dpData, 0); //add: ver ByteShortConvert.toByteArray(sType, dpData, 2); //add: service type ByteIntConvert.toByteArray(connectId, dpData, 4); //add: sequence ByteIntConvert.toByteArray(clientId, dpData, 8); //add: sequence ByteIntConvert.toByteArray(lastRead, dpData, 4 + 8); //dpData[8]=(byte) ackList.size(); ByteShortConvert.toByteArray((short)ackList.Count, dpData, 8 + 8); //add: service type for (int i = 0; i < ackList.Count; i++) { int sequence = (int)ackList[i]; ByteIntConvert.toByteArray(sequence, dpData, 10 + 4 * i + 8); //add: sequence ////#MLog.println("发送确认 "+sequence); } int u1 = timeId - 2; ByteIntConvert.toByteArray(u1, dpData, len1 + 8); SendRecord r1 = sendRecordTable[u1]; int s1 = 0; if (r1 != null) { s1 = r1.getSendSize(); } ByteIntConvert.toByteArray(s1, dpData, len1 + 4 + 8); int u2 = timeId - 1; ByteIntConvert.toByteArray(u2, dpData, len1 + 8 + 8); SendRecord r2 = sendRecordTable[u2]; int s2 = 0; if (r2 != null) { s2 = r2.getSendSize(); } ByteIntConvert.toByteArray(s2, dpData, len1 + 12 + 8); int u3 = timeId; ByteIntConvert.toByteArray(u3, dpData, len1 + 16 + 8); SendRecord r3 = sendRecordTable[u3]; int s3 = 0; if (r3 != null) { s3 = r3.getSendSize(); } ByteIntConvert.toByteArray(s3, dpData, len1 + 20 + 8); dp = new DatagramPacket(dpData, dpData.Length); }