/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }