前段时间曾写了一个“用TTcpClient和TTcpServer进行文件的传输”的小代码(http://blog.csdn.net/onebigday/archive/2010/03/28/5425028.aspx)。现在回头看来那时的代码就是个错误的代码,没有真正理解TTcpClient和TTcpServer,现在再来说说这两个控件:
发送数据时有Sendln,SendBuf,SendStream。接收数据时有Receiveln,ReceiveBuf,当时我很奇怪为什么没有ReceiveStream。因为很自然的想到是对应关系的。但当时我不知道,发数据时是一小段一小段地发的
看看SendStream代码:
从以上代码可看到,SendStream一次最多发送512字节的内容,所以,我们这接收端循环用ReceiveBuf接收就可以了。不用像以前那样写得又复杂乱。
发送端(Client)代码:
接收端(Server)代码: