TCP Sending Unsigned Char...

Posted on 16th Feb 2014 by admin

Hi...

I want to send over tcp/ip some data, i have the data in hexadecimal, and when i try to send it, i have a few problems.

I give the data as a parameter to the program... argv[1]

Example of argv[1] = "0518EF5600AD"

This is hexadecimal data (05 18 EF 56 00 AD)

The main problem for me is the Send function...

Code: int send( __in SOCKET s, __in const char* buf, __in int len, __in int flags ); How can i send this data if the 2 parameter in the send funcion is a CHAR... and i need to send some null strings like Hex(00)...

I would like to send this:

Code: unsigned char info[] = { 0x84, 0xFA, 0xEF, 0x00, 0x01, 0xEF, 0x05, 0x31, 0x01, 0x01, 0x01, 0x20, 0xF9, 0xC7, 0xDC, 0x79, 0x80, 0x99, 0xF1, 0xF2, 0xF3 }; I been trying with some like this:
Code: string sento; sento=HexToAscii('02 01 EF 05 31 00 01 00 20 F9 06 02 01 EF 05 33') nBytesSent = send(Socket, sento.data(), sizeof(sento), 0); And works, but the other side, all the hex data over 79 change... EF >> 6F... check this:

send: 02 01 EF 05 31 00 01 00 20 F9 06 02 01 EF 05 33
recv : 02 01 6F 05 31 00 01 00 20 79 06 02 01 6F 05 33

...dunno why. With C_Str si the same. I did the same code in Delphi and works perfect... but in C++ i cant. The problem is when i send !

How can i send the value of "info[]" or correct my program?

Other forums