求助大牛们,路过的都来看看

hennessey 2014-03-05 09:45:19


各位大牛,我现在写一个接收服务器发送的数据,用的是IIdTCPClient,已测试能正常连接,但是接收的数据是乱码,搞了半天没搞明白,下面手工贴上接收代码:

IdTCPClient1->IOHandler->CheckForDataOnSource(0);
if(!IdTCPClient1->IOHandler->InputBufferIsEmpty())

TMemoryStream *ms = new TMemoryStream;
int nByteCount = IdTCPClient1->IOHandler->InputBuffer->Size;
Memo1->Lines->Add(IntToStr(nByteCount));
IdTCPClient1->IOHandler->ReadStream(ms,nByteCount,False);
........
.........
}
每次都只有nByteCount在memo里显示252,下面接收的都是乱码,请大虾们说说可能的原因


...全文
172 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigfog 2014-03-06
  • 打赏
  • 举报
回复
接收部分代码看不到问题 显示前,最好把TMemoryStream *ms 重新定位到开始 ms->Position=0;
hennessey 2014-03-06
  • 打赏
  • 举报
回复
网上下了个调试工具,接收的用16进制显示是正常的,用文本显示也是乱码,那我怎么样也能接收16进制呢
cankoo 2014-03-05
  • 打赏
  • 举报
回复
编码方式看一下。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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