请求支援,在 idtcpclient 中出现 “EReadErrorStream read error”

ylj017 2003-11-09 03:01:54


代码如下:


idtcpclietn.writeln(str_send);
idtcpclient.readbuffer(lenbuffer,4); //读4位长度
packsize:=strtoint(lenbuffer);
idtcpclient.readbuffer(buffer,packedsize);


请指点!!
...全文
47 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
skyeagle31 2003-11-10
  • 打赏
  • 举报
回复
这样分开传是不行的,可能在发送比较频繁的时间buffer中的数据已被其他人读取了,当你再读buffer中的数据时,已不是packedsize的数据了。所以导致“EReadErrorStream read error”
ylj017 2003-11-09
  • 打赏
  • 举报
回复
packedsize 是我取过来的长度,不应访有错(对方先发4位长度,后面跟内容)

  另外这种情况 不长出现!(在发送比较频繁的时间有)
aiirii 2003-11-09
  • 打赏
  • 举报
回复
>>idtcpclient.readbuffer(buffer,packedsize);
应该是这句有问题, 你设置的 packedsize 过大, 导致读取越限了!

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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