vc++,socket通讯,16进制数据发送问题!

问题描述

vc++,socket通讯,16进制数据发送问题!可以发送字符串,但不能发送16进制数据,如"7e015d56a1"server是以16进制接收,如server要收到“7e015d56a1",客户端应怎样发送!谢谢!

解决方案

解决方案二:
16进制数如果是整数,转换为16进制串,接收收后转回。inta=12;strings=a.ToString("X2");intb=int.Parse(s,System.Globalization.NumberStyles.HexNumber);MessageBox.Show(b.ToString("X2"));

解决方案三:
有道理
解决方案四:
不知你是用那種方式做Socket,以.NET的方式大略弄給你看。intsendLength;array<Byte>^bytes=gcnewarry<Byte>(1024);//假設你要傳長度是5的資料//下面是要傳的資料bytes[0]=0x7e;bytes[1]=0x01;bytes[2]=0x5d;bytes[3]=0x56;bytes[4]=0xa1;sendLength=5;//資料的長度//假設ConnectSocket已宣告好。//這是以.NETSocket方式傳資料,BeginSendTo是傳資料的函式ConnectSocket->BeginSendTo(bytes,0,sendLength,SocketFlags::None,IPPoint,nullptr,nullptr);

傳送和接收的方式都是一個一個字元來送或收的。

时间: 2024-10-28 09:29:29

vc++,socket通讯,16进制数据发送问题!的相关文章

java socket 发送16进制数据-串口通信

问题描述 已有下位机通过ip转串口映射到ip+端口上去(物理通信没有问题了),现在下位机需要接受客户端发送过去的一串16进制的命令请求,然后返回结果,由于需要做成b/s的模式,所以现在想用java做客户端,请问该如何书写?因为java中在socket中只能传byte的数组:而byte的范围有限(-127~128)对于大的数就会溢出:请问如何解决? 解决方案 解决方案二:引用楼主u010212202的回复: 因为java中在socket中只能传byte的数组:而byte的范围有限(-127~128

android 蓝牙编程重点---如何发送和接收16进制数据

与蓝牙模块通信最重要的地方就是数据的发送和接收,因为是底层的操作,所以更多是发送16进制数据. 进制转换是我们程序员的必修课,属于基本素质.这里需要的是将字节数组转化为16进制字符串,方法都是通用的: public static String bytesToHexString(byte[] bytes) { String result = ""; for (int i = 0; i < bytes.length; i++) { String hexString = Integer

qt 串口通信 write 写16进制数据

问题描述 qt 串口通信 write 写16进制数据 龚建伟老师编写的串口调试助手里面有个十六进制的发送和接收功能,不知道有没有哪位尝试过在QT里面实现同样的功能?就是对于类似"02e3a2f5d6"的字符串作为一个十六进制字符串发送,而不是作为普通的字符串发送,我看了他写的源代码,里面有一个字符串转换函数,这个函数可以直接拿过来用,但是使用qextserialport类进行发送的时候,出现了一点小问题,就是当字符的ASCII码值大于127时,会将最高位省略,比如发送"f5&

mfc串口数据解析-如何从串口接收一段16进制数据中 读取需要的数据

问题描述 如何从串口接收一段16进制数据中 读取需要的数据 串口接收到的16进制数据: 53 d4 ac 4e d4 ac 2d 30 30 30 b4 2e 36 b2 8d 0a 53 d4 ac 4e d4 ac 2d 30 30 30 b4 2e 36 b2 8d 0a 53 d4 ac 4e d4 ac 2d 30 30 30 b4 2e 36 b2 8d 0a . . . 串口接收到的ASCII数据: ? k ? ? ? ? s ? ? k u ? ? ? k ? ? ? ? s ?

javascript-js 如何将16进制数据转浮点数

问题描述 js 如何将16进制数据转浮点数 js 如何将16进制数据转浮点数 我想 把str ='AB23FF12E1' 这个转成浮点数 解决方案 http://blog.csdn.net/yin138/article/details/13504441 解决方案二: 补充一句,123.456(float) = '79 E9 F6 42'; 如何把 '79 E9 F6 42'; 还原回 123.456呢? 解决方案三: 补充一句,123.456(float) = '79 E9 F6 42'; 如何

C++ 字符串 16进制 数据提取

问题描述 C++ 字符串 16进制 数据提取 如题,怎样提取含有空格的16进制字符串?例如:"34 54 DIST FFFF3CB0 1388 17D 28D 291 295 292 299 29A 29A 299 29A 298 297 2A0 2B3 2C9 2D3 2E4 2F4 30B 3DE 3E3 3D" 1. 怎样提取DIST及其之后的数据? 2. 怎样提取某一个数据如 17D? 解决方案 1.http://www.cnblogs.com/MikeZhang/archiv

mfc 如何获取字符串中的16进制数据

问题描述 mfc 如何获取字符串中的16进制数据 mfc 如何获取字符串中的16进制数据,如字符串"0x123F"或"123F",获取16进制数据0x123F 解决方案 C++实现二进制.八进制.十进制.十六进制的相互转换 解决方案二: 这种算法只能针对特殊的格式字符串吧,不能做到万能的算法. 你这种需求你肯定知道字符串的大致格式,那么你就只有根据你的需求来匹配16进制的. 比如你可以搜索0x开头的,然后在后面继续匹配. 解决方案三: 先读取字符串,然后根据你的格式

串口通讯 16进制转换-串口数据校验及ID提取怎么处理?

问题描述 串口数据校验及ID提取怎么处理? 现在有一份通讯规约 同步字/` 长度 / 命令字/ 数据区 / 校验 0xAA - - - - 1字节 1字节 1字节 0-253字节 1字节 长度计算范围:命令字-校验 校验计算范围:同步字-数据区 校验算法:字节累加和,丢弃溢出 数据区:如果没有数据,可以为空 对齐方式:大端对齐 串口波特率:9600 8数据位 无校验 1位停止位 协议指令和数据: 1.实时上传进出门数据 同步字 /长度 /命令字 / 数据区 /校验 0xAA - 0x02 进出门

将16进制字符串转换成16进制数据

var tb1 = Tb1.Text; if (string.IsNullOrEmpty(tb1)) { tb1 = "0000"; } var s1 = tb1.Substring(0, 2); var int_1 = Convert.ToInt32(s1, 16); var s2 = tb1.Substring(2, 2); var int_2 = Convert.ToInt32(s2, 16); var bt1 = Convert.ToByte(int_1); var bt2 =