IdTCPServer多个客户端同时访问的问题 找商品销售软件
仓库管理软件版1楼: 我用Indy TCP,做一个INTERNET通迅程序,但多个客户端同时防问服务器端时会产生错误,请问该怎么解决???急。。。
2楼: 使用id提供的多线程,可以解决问题的了! 如永久免费的记账软件
3楼: 具体怎么解决?能告诉我吗,非常感谢。。。
4楼: 或者给个Demos
5楼: 帮顶
6楼: 咋没有人回答啊~~~~~~~~~
仓库管理软件版7楼: 我来帮你顶了,也关注此问题!
8楼: indy控件好像都是以线程实现的,在服务段添加线程控制控件,idThreadMgrDefault或者IDThreadMgrPool
9楼: idTCPserverExcute()函数非线程安全的!
10楼: IdTcpServer 本身就支持多个客户端同时访问,可能是你处理方式有问题
11楼: 服务端操作VCL要用Synchronize
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
begin
AThread.Synchronize(你的过程);
end;
12楼: idtcpserver服务器一般错误有两种:
1、由于VCL多线程不安全,所以在idtcpserver的execute函数中如果有操作VCL ,则需要多线程同步。
2、如果有通信异常,如果用户多或者在链路长的话,发生的概率很大,这是要把当前服务线程中止掉,不要试图恢复,虽然TCP协议允许异常发生后,恢复应用。 如商品销售软件
13楼: 多人接受答案了。