我现在在做一个用SOCKET传输文本的程序,用D6 TSERVERSOCKET和TCLIENTSOCKET两控件,数据是从数据库中读出一条记录各个字段的内容按一定的格式组成特定的文本,通过CLIENT端发到SERVER,在SERVER端进行分析,得到CLIENT端传过来的数据。如果数据库记录不多时,CLIENT端与SERVER端传数据还不会有问题,一但数据库中的记录很多的时候(比如1000条),CLIENT端与SERVER端就一直在发送数据直到,两端占用绝大部分的CPU,而且像死机一样,腛s整个程序界面就不能动了。这个问题困我好久了,各位兄弟姐妹有什么好的方法来传输这样的数据?解决我另加分。
解决方案 »
- 调用webservices出现Bad Request (400)错误!!
- BusinessSkin 控件 控件 bsSkinSpeedButton 控件加一个位图后 在设计前,设置好高度以后,怎么运行了以后总是控件的默认高度。。。郁闷。
- 图像编程:对称的图形
- 如何找出一个字符串中的汉字?
- 一个简单的网络布线问题?谢谢
- 请问如何得到两个时间相差多少秒
- 请教:怎样指定动态生成控件的事件
- gz什么意思啊?
- 请推荐DELPHI的书籍,需要最简单的入门和提高,专家的书
- 请问直接上手Delphi行吗??
- 请问怎么样才能用TTS使电脑发中文,我就要它发中文,不强求中英文都能发!!!
- 请问怎么我按装speechsdk51后,在Delphi的Project<Import Type Library>对话框里看到的还是没变???
看看http://www.cndelphi.com/bbs/dispbbs.asp?boardID=49&ID=285&skin=0的讨论
首先把要传的文件信息,如大小,文件名先以string方式传过去,对方收到信息后,做准备并告诉传送方可以开始传文件。此时传送方先把文件读入一个buf中后用SendBuf进行传送。注意:每一次接收最多只可接收3800k左右的信息,所以在接收方根据前一次收到的文件信息,看是否已接收完毕。