socket服务器端接收信息后发送回复信息大家看看怎么回事发的不对

taogehujie 2015-08-11 08:49:36
我要发的数据是 AA75001D000100010001000185010046
但是做实验的时候用socket接收收到的是:{41 41 37 35 30 30 31 44 30 30 30 。。。。。}AA75001D000100010001000185010046
代码是这样的:
...全文
182 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
taogehujie 2015-08-12
  • 打赏
  • 举报
回复
时间比较紧,我就只能做这么最简单的了。。以后再弄吧。
by_封爱 版主 2015-08-11
  • 打赏
  • 举报
回复

string a="AA-75-00-1D-00-01-00-01-00-01-00-01-85-01-00-46";
byte [] data=a.split('-').select(d=> convert.tobyte(d, 16)).toarray();
xxoo.send(data);
於黾 2015-08-11
  • 打赏
  • 举报
回复
这里有我做的一个例子 这个例子虽然是串口通信,但是字符串转换的逻辑是一样的
taogehujie 2015-08-11
  • 打赏
  • 举报
回复
引用 4 楼 Z65443344 的回复:
如果你想把AA75001D000100010001000185010046这串东西当byte[]发送 就是0xAA,0x75...这样的 那么就别用default编码,而是自己做字符串截取,每2个字符按16进制转byte
谢谢!!还要做字符串截取啊?怎么做的,有例子给我 看看么?谢谢啊!
於黾 2015-08-11
  • 打赏
  • 举报
回复
类似这种问题,你不要等对方接收到之后再看为啥不对,那上哪猜去 你应该在字符串转byte[]之后马上断点跟,看转出来的到底是个啥玩意
於黾 2015-08-11
  • 打赏
  • 举报
回复
如果你想把AA75001D000100010001000185010046这串东西当byte[]发送 就是0xAA,0x75...这样的 那么就别用default编码,而是自己做字符串截取,每2个字符按16进制转byte
於黾 2015-08-11
  • 打赏
  • 举报
回复
你发送的是字符串,接收的是byte[]数组 发送方会把字符串用ASCII编码 41='A' 就是这样
xian_wwq 2015-08-11
  • 打赏
  • 举报
回复
接收端解码用的什么方式?贴代码看看; 还有个办法,使用minisniffer在客户端抓包,看看抓到的数据是否正确 以确定错误出在哪边
taogehujie 2015-08-11
  • 打赏
  • 举报
回复
就是说为什么我做实验收到的数据会出现{},而且里面有数据呢?我看了看,数据还有规律,肯定是我代码出的问题,我是菜鸟,不知道其中意思,求教,谢谢!!
於黾 2015-08-11
  • 打赏
  • 举报
回复
可以啊.但是你这样就把要发送的字节给写死了
taogehujie 2015-08-11
  • 打赏
  • 举报
回复
引用 5 楼 taogehujie 的回复:
[quote=引用 4 楼 Z65443344 的回复:]
如果你想把AA75001D000100010001000185010046这串东西当byte[]发送
就是0xAA,0x75...这样的
那么就别用default编码,而是自己做字符串截取,每2个字符按16进制转byte




谢谢!!还要做字符串截取啊?怎么做的,有例子给我 看看么?谢谢啊![/quote]




我这样行不行?

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧