clientsocket向serversocket发十六进制数的问题(50分)

  • 主题发起人 主题发起人 gsl4361
  • 开始时间 开始时间
G

gsl4361

Unregistered / Unconfirmed
GUEST, unregistred user!
我想用clientsocket向serversocket发一个十六进制的数,使数据能原样到达serversocket的数据
缓冲区中,例如:我在client端发‘31’,这数据到达server缓冲区中,是占一个字节的二进制数据
‘00110001’,即为十六进制的‘31‘,该如何实现?
 
建议将一个16位整形申明为2 个Char
不就是send _ char 吗?
然后recv _ char 吗
然后把 两个Char组装起来不是一个整形吗?
为什么这么麻烦了,
主机字节与网络字节不同而已
具体参见<<Linux网络编程>>清华
 
我写了一个 C++Builder的。
unsigned char* sHexByte;
sHexByte[0]= 0x01;
sHexByte[1]= 0x02;
sHexByte[3]= 0x0A;
sHexByte[4]= 0x0B
sHexByte[5]= 0x0F;
sHexByte[6]= 0xFF;
//发送
ClientSocket->Socket->SendBuf(sHexByte,7);
原程序作了字符串转十六进制的处理,最终发送就是这样的了
给不给分?
 
谢谢2位。
 
后退
顶部