Düzenli ifadeler ile yapmayı ben de düşündüm ama sıkıntı gelen verilerin şekilleri, boyutları cihazdan cihaza hatta durumdan duruma her bir cihazda dahi değişiklik gösteriyor olması. Bu yüzden gelen verinin tipini doğrudan söyleyecek bir method var mı diye bakınıyorum. Yoksa her gelen veri için pattern oluşturmam gerekebilir.
Bazılarında ham binary veri bu şekilde gelirken: "+PSR\x00\x00\x01\x00.\x101V\x15]\x02\x16\x0c\x064\x9\x01\x00 \x0bQ\x01\x01\x00\x1f\x07\x01\xbTq\x02lx%\x07\xe0\t\x05\r'\t\x00\x00\x00\x00\x00\x07\xe0\t\x05\r'\n\xkJ2\x126\r\n" Bazılarında da bu şekilde gelmekte: '\x00\x00\x00\x00?\x08\x01\x00\x00\x01V\xfa\x90\x00\x10%\x9e4\x05\x00\t\x003\x10\x00\n\x00\t\x05\x01\x00\x02\x00\x01\x02\t\x00\x00B/\xae\x01\x01N\x00\x00\x00\x01\x00\x00\xczS' Saygılarımla, Sencer HAMARAT 2016-09-05 16:32 GMT+03:00 Samed YILDIRIM <[email protected]>: > Merhabalar, > > Hex olarak gelen veriye uygun bir desen yazarak düzenli ifadeler ile > kontrol ederek bunu yaparsınız. Eğer gelen veri yazdığınız desene uyuyorsa > ek olarak data = binascii.hexlify(data) satırını işletirsiniz olur biter. > > İyi çalışmalar. > Samed YILDIRIM > > > 05.09.2016, 16:19, "Sencer Hamarat" <[email protected]>: > > Merhabalar, > > Elimde soket bağlantısı ile sunucuya TCP/IP üzerinden veri gönderen > cihazlar var. > Bu cihazların bazıları Binary encoded HEX string gönderirken bazıları > ASCII string göndermekte. > > Misal; > > data = socket.recv(1024) > > satırı ile veri aldığımda eğer gelen veri ASCII string ise doğrudan > işlemeye başlıyorum > Eğer Binary encoded HEX string ise > > data = binascii.hexlify(data) > > metodu ile gelen veriyi HEX string'e çevirdikten sonra gerekli işlemlere > tabi tutuyorum. > Bunu yapabilmek için de iki ayrı script çalıştırılması gerekiyor. Ben ise > bu işin tek scriptte yapabileceğini düşünüyorum. Bu yüzden Python ile bu > gelen socket verilerin tiplerini anlamaknın yolunu arıyorum. > > Saygılarımla, > Sencer HAMARAT > , > > _______________________________________________ > Linux-programlama mailing list > [email protected] > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > > > _______________________________________________ > Linux-programlama mailing list > [email protected] > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > >
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
