Z zhi_dian Unregistered / Unconfirmed GUEST, unregistred user! 2006-01-07 #1 我用Indy TCP,做一个INTERNET通迅程序,但多个客户端同时防问服务器端时会产生错误,请问该怎么解决???急。。。
L lxw5214 Unregistered / Unconfirmed GUEST, unregistred user! 2006-01-12 #8 indy控件好像都是以线程实现的,在服务段添加线程控制控件,idThreadMgrDefault或者IDThreadMgrPool
M masm Unregistered / Unconfirmed GUEST, unregistred user! 2006-01-12 #9 idTCPserverExcute()函数非线程安全的!
W wxhui Unregistered / Unconfirmed GUEST, unregistred user! 2006-01-21 #10 IdTcpServer 本身就支持多个客户端同时访问,可能是你处理方式有问题
C chen_liang Unregistered / Unconfirmed GUEST, unregistred user! 2006-01-21 #11 服务端操作VCL要用Synchronize procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread); begin AThread.Synchronize(你的过程); end;
服务端操作VCL要用Synchronize procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread); begin AThread.Synchronize(你的过程); end;
D dqzone Unregistered / Unconfirmed GUEST, unregistred user! 2006-01-21 #12 idtcpserver服务器一般错误有两种: 1、由于VCL多线程不安全,所以在idtcpserver的execute函数中如果有操作VCL ,则需要多线程同步。 2、如果有通信异常,如果用户多或者在链路长的话,发生的概率很大,这是要把当前服务线程中止掉,不要试图恢复,虽然TCP协议允许异常发生后,恢复应用。
idtcpserver服务器一般错误有两种: 1、由于VCL多线程不安全,所以在idtcpserver的execute函数中如果有操作VCL ,则需要多线程同步。 2、如果有通信异常,如果用户多或者在链路长的话,发生的概率很大,这是要把当前服务线程中止掉,不要试图恢复,虽然TCP协议允许异常发生后,恢复应用。