请问各位大侠,Indy的TCPServer如何知道client已失去联系? client经常由于各种原因与server失去联系,server端需要比较快的知道,然后采取相应的措施。诸位大侠在实际中是如何解决这个问题的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在OnConnect为每个连接设置readtimeout,如果超时就断开AThread.Connection.ReadTimeout:=5000//5秒 To getit911,您的例子是server读不到数据超过5s就断开。可是server和client连接后,什么也不做,没有读client数据的事情呀 在OnExecute消息中写sleep(100);AThread.Connection.CheckForGracefulDisconnect();什么都不做?那要这个程序干什么? 这个好像不能达到哪个目的?现在我的一个server有十个client,server等待和接受client发的数据。client不一定什么时候发,也不一定发多少。server应该知道哪个client断线了,要把这个client的IP记录下来,而且这个处理时间不能太长,因为client给server发数据的话,server必须立刻迅速响应,如果sleep(100)后再响应接受client的数据,那太漫长了,client无法忍受。 To:net_morning(矿泉水) 能否把你的代码给我发一份过来,我研究一下如何解决?[email protected] To:net_morning(矿泉水) “server应该知道哪个client断线了” :能不能考虑用多线程呢? “把这个client的IP记录下来”:定义一个String变量就是了。 写给初学者的建议,一些不良的代码或习惯 Delphi Double转byte[] 数据表修改了,显示该数据表的GRID如何做到自动刷新 三层系统中怎样取得登录的用户名和时间? 报表预览!!! 一个看似简单实则绕脑的小问题 如何打包和解包 如何調用窗體?? 我想在自己的程序中执行IE的“收藏夹”的功能,和IE的完全一样的那种,在菜单栏上设计一个“收藏夹”,点击后要与IE的一样,怎么办? 那里能找到 Skin Engine 1.6 sql 语句 程序如何读取ini文件里内容并应用?
AThread.Connection.ReadTimeout:=5000//5秒
sleep(100);
AThread.Connection.CheckForGracefulDisconnect();
什么都不做?那要这个程序干什么?
现在我的一个server有十个client,server等待和接受client发的数据。client不一定什么时候发,也不一定发多少。server应该知道哪个client断线了,要把这个client的IP记录下来,而且这个处理时间不能太长,因为client给server发数据的话,server必须立刻迅速响应,如果sleep(100)后再响应接受client的数据,那太漫长了,client无法忍受。
能否把你的代码给我发一份过来,我研究一下如何解决?[email protected]
“server应该知道哪个client断线了” :能不能考虑用多线程呢?
“把这个client的IP记录下来”:定义一个String变量就是了。