Haskell'e oldukça yeni geldim ve ilk projem, yakalanan WLAN paketlerini ayrıştırmak. Bu tür paketlerin ayrıştırılmasında ortak bir model, bir başlık alanının kalan baytların yapısını tanımlayacağıdır. Genel bir örnek olarak, bir paket böyle biçimlendirilebilir: başlığında bir bayrak alanı (bitmap olabilir) Ne yük (lar) ı belirlerHaskell'de ikili verilerin Monadic ayrışması
header + [payload A | payload B | ..]
paket içinde yer almaktadır. Bu formatın belirli bir örneği için lütfen radiotap'a bakın.
A similar thread sadece bu gibi parse
işlemler dizisi kullanımını önermektedir:
A
ve
B
varlığı benim durumda uygulanamaz görünüyor Ancak
parseAll = do
hdr <- parseHeader
pa <- parsePayloadA
pb <- parsePayloadB
başlığı ile tanımlanır. Diğer bir deyişle, veri ayrışmasının kontrol akışının önceden ayrıştırma sonucunu takip etmesi gerekmektedir. Bu tür bir modelle ikili veriyi ayrıştırmada genel bir yol varsa bunu anlamak isterim.
Teşekkürler. Bu durumda "faydalı yük" türü ne olurdu? – liu3tao
Bu, veri yükü = PayloadA A ile iki olası yükünüzün olduğunu varsayar. Yük B B' – Cactus