2011年10月14日星期五

datasnap的初步 TDSTCPServerTransport的OnConnect

了解到indy的执行后,就能明确TDSTCPServerTransport的OnConnect的执行时机了。

 TDSTCPServerTransport的Start里,将OnConnect给了TIdTCPServerPeer的OnConnectEvent,
而 TIdTCPServerPeer的LOnConnectEvent关联着TIdTCPServer的OnConnect。LOnConnectEvent执行时,执行OnConnectEvent。
 所以 OnConnect是在TIdThreadWithTask的Execute的BeforeRun里被执行了。这时,线程TIdThreadWithTask已经建立,但啥也没做。而TIdThreadWithTask又是被TIdSchedulerOfThreadPool给缓存着的。在这个事件里面Disconnect来防止DDOS应该还是可取的。

没有评论:

发表评论