TIdTCPClient的一个小问题 ( 积分: 80 )

  • 主题发起人 主题发起人 rsina
  • 开始时间 开始时间
R

rsina

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟使用TIdTCPClient开发一个小程序,是和公司服务器进行数据数据通讯。

由于公司服务器是自己开发的(很久了,没有源代码)。
我发现我和服务器进行数据交换的时候,在某一个环节服务器可能会给我发送未知行数的数据。这让我很苦恼,因为我每次都是使用ReadLn()的方式读数据,如果未知行数的话就可能会丢失数据。

TIdTCPClient其他几个方法我都简单实验过,好象也不行啊,不知道哪个大哥有开发类似程序的经验。


谢谢。
 
小弟使用TIdTCPClient开发一个小程序,是和公司服务器进行数据数据通讯。

由于公司服务器是自己开发的(很久了,没有源代码)。
我发现我和服务器进行数据交换的时候,在某一个环节服务器可能会给我发送未知行数的数据。这让我很苦恼,因为我每次都是使用ReadLn()的方式读数据,如果未知行数的话就可能会丢失数据。

TIdTCPClient其他几个方法我都简单实验过,好象也不行啊,不知道哪个大哥有开发类似程序的经验。


谢谢。
 
用TStringStream读取试试呢
 
To rsina,
TIdTCPClient.ReadBuffer 读出全部Buffer的数据
我的QQ:82780254
 
谢谢两位的答案,我已经解决了问题。
使用的是老人家的方法
其实我还有一个疑问,使用流的方法,可以creat和free流,感觉上好象很合理的利用了系统资源,如果使用readbuffer的方法,必须定义一个数组,那么如果收到的数据没有数组定义的那么大,会不会造成内存的浪费呢?

不好意思,我这个人最怕浪费。。。。(走节约型社会啊)

散分啦~~~
 
后退
顶部