当前位置:  开发笔记 > 编程语言 > 正文

Delphi:限制TCP连接

如何解决《Delphi:限制TCP连接》经验,为你挑选了1个好方法。

我在我的Delphi应用程序中使用TServerSocket组件.我想限制客户端连接,让我们说一千个.不幸的是我不知道该怎么做.该组件不提供任何属性,如"MaxConnections"或任何其他类似此属性.

我使用OnGetThread事件创建新的服务器线程(TServerClientThread).为了获得活动连接的数量,我使用了'Socket.ActiveConnections'属性.

不幸的是我不知道该怎么做.当连接数超过限制时,我尝试不在OnGetThread过程中创建任何线程,但它什么都没改变 - 客户端,即使它无法发送或接收任何信息,它也可以连接到服务器并保持连接.什么不允许新客户端连接或只允许他们连接但是立即断开连接?



1> Manuel..:

上次我使用Delphi是在几年前,但我有类似的情况要处理,我的经验可能对你有用:我面临同样的问题,并且不想切换到"Indy"组件,因为(大)申请不值得港口.据我所知,你应该在服务器套接字上有一个onClientConnect事件,这是我检查的限制:

.onClientConnect( Sender: TObject; aSocket: T... )
begin
    if( YourServerSocket.ActiveConnections > YourDefinedMaxConnections )
    begin
        // Drop the connection
        aSocket.Close;
    end;
end

除了那个我记不起来了,但我想我在这些方面做了些什么,或者至少这是我想出的东西.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有