利用VB的winsock6.0编写的数据传输程序(作为客户机),要求利用C++ Builder能够实时接收?
zqhkd 2003-10-15 02:03:43 目前我们有个项目,数据采集系统的软件由用户提供,程序采用VB编写,采集数据是利用winsock6.0控件的客户机方式发送过来的。而我们采用C++ Builder 6.0编写一个数据处理与调度程序(为服务器方式),要求通过网络端口将这些数据实时接收、并同步显示。因此选择TServerSocket和TClientSocket组件进行网络通讯程序的编写(完全仿照CBuilder自带的聊天程序\examples\Internet\Chat),因此这部分程序肯定没有问题。目前的问题是:
(1)数据采集系统演示软件(针对简单的数据采集、网络通讯)如果也采用CBuilder,那么数据处理与调度程序能够将网络接收数据添加到TMemo编辑框中,同步、实时显示采集数据,工作正常;
(2)如果数据采集演示软件采用VB,那么数据处理与调度程序不能正常显示从网络端口传送过来的数据。并且现象很奇怪:每采集一个数据,如果直接通过Winsock的SendData函数传送,那么循环传送100组,另一端的数据处理与调度程序(服务器方式)的TMemo编辑框中未显示任何内容;但是,当在每个采集数据后面加上回车、换行符(0x0d、0x0a)之后,虽然不能在TMemo编辑框中同步、实时显示数据,但当最后一组传送完毕后,数据能够一次性的在TMemo编辑框中显示出来。
(3)在(1)和(2)中所采用的C++ Builder程序是系统的(包括客户机发送数据的程序)。