多线程数据传输,为什么会有这样的结果?(50分)

  • 主题发起人 主题发起人 cb1997
  • 开始时间 开始时间
C

cb1997

Unregistered / Unconfirmed
GUEST, unregistred user!
现有两台计算机,一个C,一个S
在C端我建立了多个连接(多个TIdTCPClient),当我用一个TIdTCPClient发送文件过程中,调用另一个TIdTCPClient也发送文件,这时第一个TIdTCPClient就停住了,只有第二个TIdTCPClient发送完文件,才继续第一个TIdTCPClient的发送,这是什么原因?
我用的是INDY 控件,不是说IdTCPServer本身自己回处理多线程方面的问题吗,那我的传输为什么不同步呀?:(
 
这是多线程吗?[:D]
 
看着不太像[:D]
 
在服务器端本身IdTCPServer就是多线程的处理呀!
我现在的问题是:当一台机子用两个TIdTCPClient控件和服务器端相连后,
当一个TIdTCPClient传输数据过程中,我用第二个TIdTCPClient传输数据时,第一个传输就要占停,理论上应该可以让两个TIdTCPClient同时传输数据的吧!
 
不会出现这样的现象啊,我的就是和你的一样,我用50个TIdTCPClient向一个IdTCPServer里发东西都没问题啊,不过我的数据是200个字节长度的,但这和多线程没关系啊
 
ghb1974:
可我的就是有这样的问题呀!我传输的是几百K的文件,这个问题如何才能解决呀
 
你是怎么调用TIdTCPClient来发送的,我的所有TIdTCPClient是可以同时发的
 
两个按钮分别创建TIdTCPClient的连接
然后还有两个按钮,分别调用TIdTCPClient来发送文件
 
你在线程里创建TIdTCPClient后在线程里发送试试
 
ghb1974:
我现在在线程里创建了TIdTCPClient,可以正常发送数据,可我如何知道他是在同时发送呀??
我以前是两个发送按钮分别用了两个进度条,可以根据进度条的情况看是否同时发送数据,可现在我怎么判断是否在同时发送数据呢?
 
还是用两个进度条啊
 
后退
顶部