예제 #1
0
        /// <summary>
        /// Wycina z tablicy bajtow fragment zawierajacy wiadomosc uzytkowa i zamienia ja na stringa
        /// </summary>
        /// <param name="packageBytes"></param>
        /// <param name="usableInfoLength></param>
        /// <returns></returns>
        public static string extractUsableMessage(byte[] packageBytes, short usableInfoLength)
        {
            //Wiadomosc uzytkowa jest od 24. indeksu i ma dlugosc 40
            byte[] bytes = NMSPackage.extract(24, usableInfoLength, packageBytes);

            return(Encoding.ASCII.GetString(bytes));
        }
예제 #2
0
        /// <summary>
        /// Wycina z tablicy bajtow i konwertuje na shorta dlugosc pola z informacja uzytkowa.
        /// </summary>
        /// <param name="packageBytes"></param>
        /// <returns></returns>
        public static short extractUsableInfoLength(byte[] packageBytes)
        {
            byte[] bytes = NMSPackage.extract(12, 2, packageBytes);

            //konwertuje bajty na shorta, 0 to indeks mowiacy, skad zaczac w tablicy
            return(BitConverter.ToInt16(bytes, 0));
        }
예제 #3
0
        /// <summary>
        /// Odnajduje i konwertuje bajty z pakietu na liczbe typu short.
        /// </summary>
        /// <param name="packageBytes"></param>
        /// <returns></returns>
        public static short extractDestinationPortNumber(byte[] packageBytes)
        {
            //Destination port, zaczyna sie ną drugiej pozycji i ma długośc 2B
            byte[] bytes = NMSPackage.extract(2, 2, packageBytes);

            //Konwersja na adres IP
            return(BitConverter.ToInt16(bytes, 0));
        }
예제 #4
0
        /// <summary>
        /// Odnajduje i konwertuje bajty z pakietu na liczbe typu short.
        /// </summary>
        /// <param name="packageBytes"> Pakiet w postaci bajtów.</param>
        /// <returns>Nr portu z pakietu.</returns>
        public static short extractNumberOfRouterNumber(byte[] packageBytes)
        {
            //Nr portu sie zaczyna od indeksu 0 i ma dlugosc 2
            byte[] bytes = NMSPackage.extract(0, 2, packageBytes);

            //konwertuje bajty na shorta, 0 to indeks mowiacy, skad zaczac w tablicy
            return(BitConverter.ToInt16(bytes, 0));
        }
예제 #5
0
        /// <summary>
        /// Wycina z tablicy bajtow te od zrodlowego IP i zamienia je na IPAddress.
        /// </summary>
        /// <param name="packageBytes"></param>
        /// <returns></returns>
        public static IPAddress exctractDestinationIP(byte[] packageBytes)
        {
            //nr pakietu jest od 10 do 11 w tablicy
            byte[] bytes = NMSPackage.extract(8, 4, packageBytes);

            //Konwersja na adres IP
            return(new IPAddress(bytes));
        }
예제 #6
0
        /// <summary>
        /// Wycina z tablicy bajtow te od zrodlowego IP i zamienia je na IPAddress.
        /// </summary>
        /// <param name="packageBytes"></param>
        /// <returns></returns>
        public static IPAddress exctractSourceIP(byte[] packageBytes)
        {
            //Source IP sie zaczyna na 4. pozycji i ma dlugosc 4B
            byte[] bytes = NMSPackage.extract(4, 4, packageBytes);

            //Konwersja na adres IP
            return(new IPAddress(bytes));
        }