Zdravim, řešim už několik dní problém s komunikací přes TCP/IP. Potřebuju implementovat protokol pro konkrétní zařízení. Všechno mi funguje dobře až do doby než si protokol zažádá odpověď ve formátu hexa 5b003131305d (ascii - "[.110]") Dělám to ve VB6 a používám běžný win socket a bohužel jsem nepřisel na jiný způsob jak odeslat správný kód než přes konverzi původního hexa na string: For x = 1 To Len(sText) Step 2 HexToAsc = HexToAsc & Chr("&H" & Mid$(sText, x, 2)) Next x Tímto dostanu správný kód pro odeslání, ale když se podívam co na port skutečně přijde (přes ethereal) pak socket odešle pouze "[" předpokládám, že je to tím, že kod hexa 00 je v socketu přeložen jako NULL a proto ignoruje odeslání zbytku kódu. Tedy otázky zní: 1, jak dostat korektně kód "5b003131305d" do socketu 2, nesetkal jste se nahodou někdo s jiným socketem který by uměl funkci .SendData přímo v hexa? A nebo: 3, uměl by třeba nějaký šikovný "Céčkař" (nevím jesli v .net to nebude stejné?) takový socket vytvořit (nebo přímo implementovat ten protokol do jednoduchého odpovídacího programku)? Jedná se o komunikaci s cca 20 různými kódy. Sám jsem to měl v Basicu udělané cca za 3 hodinky bohužel s výše popisovaným problémem). Nabízím cca 500,- případná další spolupráce možná. (časem budeme implementovat další protokoly pro jiné typy zařízení).
|