请教:使用disconnect方法后,Server端资源没有释放,积累一定数量后Client无法连接的问题 使用TClientSocket和TServerSocket组件开发。在使用disconnect方法断开连接后,使用netstat命令查看,Current Connection还没有减少,当Current Connection达到4000多的时候,客户端就会时不时地连不上服务器端了。是不是服务器端的资源用完了?请问在代码里面解决的话(不改变硬件设置),如何解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用哪种函数会有效?在不能使用close方法关闭整个连接的情况下。 例如:有1000个不同的socket handle,我只想关闭其中的某几个。用close方法不就是把1000个全部都关掉了吗? ”有1000个不同的socket handle“,一个Clientsocekt和ServerSocket的连接中还有handle吗?不会了,能解释是什么意思吗? 你是clientsocket close,不是serversocket clsoe吧?这样不影响其他clientsocket的连接的 能不能不用close方法呢?disconnect方法为什么不能释放资源? 虽说不影响其他clientsocket的连接,但是服务器的连接还是没有得到真正的释放。目前要解决的问题是:服务器的连接(其中有很多连接是已经在客户端使用close方法断开的了)越积越多,导致一定时间后,客户端只能断断续续地连接,无法正常连接 4000个连接,还用TServerSocket来开发本身就是绝对错误的选择,TServerSocket用的是基于消息通知的WSAAsyncSelect,根本就不应该用来开发服务器应用。这东西最多在开发P2P时用用,比如点对点的文件传输。 噢,多谢 ehom(?!) 。我是拿4000个连接来测试的。如果用TServerSocket,多少个连接会比较适合?目前已有的服务器已经使用了这个控件,没办法改其他控件啊~有没有一些折中的办法?如果不用TServerSocket,应该用哪个呢? 问题依然没有解决,希望哪位大侠帮帮忙~因为不能改组件,TServerSocket组件有没有释放部分连接的函数?? 现在不是能不能改,而是必须改。首先要明白一点,不是它叫TServerSocket,就是用来开发Server的。这里的Client和Server是指发起和响应连接的两个不同终端。开发Server程序绝对不应该用WSAAsyncSelect模型的。难以想象网络通讯还要用一个隐藏窗口来接收消息响应I/O操作,这效率人稍微多点根本抗不住。开发Server程序,封装Socket是最基础的知识准备。如果在做相关开发,花3天时间把相关基础知识学习下不好吗?就算要对付一下,至少要用IdTcpServer这类,Delphi7带的TcpServer也能对付一下,不过要正常用起来一样需要了解一下相关基础知识。 求助:定义过程出现问题 发个20分贴,再回个帖,可净赚20分? pascal中有没有左移位的? 那位大侠能提供一下获得系统完整信息的资料 OpenPictureDialog为什么显示不出来呢? access中OLE字段加密解密? ·dbgrid中是不是不能显示备注型字段? 求教高手!如何动态获得一个record的成员的名称和成员的个数? 修复注册表文件关联 我用adoquery控件查询,当返回记录数为0时,出现eof,bof都为真的错误?有办法解决吗? msdn稳定 震惊:Borland计划出售其IDE部门
不会了,能解释是什么意思吗?
这样不影响其他clientsocket的连接的
如果不用TServerSocket,应该用哪个呢?