public List <byte[]> CreatePackets <T>(T data) { ipHeader = new IP4Head(); tcpHeader = new TCPHead(); PacketBody <T> body = new PacketBody <T>(data); byte[] allPayload = body.OutputBinary(); Console.WriteLine(string.Format("allPayload Length: {0}", allPayload.Length)); byte[][] splitPayload = SplitPayload(allPayload); List <byte[]> allPackets = new List <byte[]>(); foreach (byte[] partPayload in splitPayload) { List <byte[]> singlePacket = new List <byte[]>(); singlePacket.Add(ipHeader.OutputBinary()); singlePacket.Add(tcpHeader.OutputBinary()); tcpHeader.SequenceNumber++; singlePacket.Add(partPayload); byte[] completePacket = CombineAll(singlePacket); ipHeader.TotalLength = (ushort)completePacket.Length; singlePacket[0] = ipHeader.OutputBinary(); completePacket = CombineAll(singlePacket); allPackets.Add(completePacket); } return(allPackets); }
public PacketTCP() { IP4Head ipHeader = new IP4Head(); TCPHead tcpHeader = new TCPHead(); PacketBody <string> body = new PacketBody <string>("Hello World"); }