예제 #1
0
파일: TCP_Packet.cs 프로젝트: 24/source_04
        public void Add(EthernetPacket packet)
        {
            if (packet.TCPHeader == null)
            {
                return;
            }
            TCP_StreamAddress address      = new TCP_StreamAddress(packet);
            TCP_StreamPacket  streamPacket = new TCP_StreamPacket();

            streamPacket.Direction = TCP_Direction.SourceToDestination;
            streamPacket.Address   = address;
            streamPacket.Packet    = packet;
            int        i = Streams.IndexOfKey(address);
            TCP_Stream stream;

            if (i == -1)
            {
                address.StreamNumber = Streams.Count;
                stream = new TCP_Stream(streamPacket);
                Streams.Add(address, stream);
            }
            else
            {
                stream = Streams.Values[i];
                address.StreamNumber = stream.Address.StreamNumber;
            }
            stream.Add(streamPacket);
            Packets.Add(streamPacket);
            packet.gGroupNumber = address.StreamNumber + 1;
        }
예제 #2
0
파일: TCP_Packet.cs 프로젝트: 24/source_04
 public TCP_Stream(TCP_StreamPacket streamPacket)
 {
     Address = streamPacket.Address;
     _Add(streamPacket);
 }