如何判断一个链接5分钟内无任何消息

连亚红 2019-11-05 19:41:00

推荐回答

怎么访问一千次?你要理解1你访问一次网站,那边的网站要接收到你的访问,才算访问了,否则一秒1000次,1毫秒一次,你的发送请求到了一半,就又刷新了,都没到地方。有什么用?2一个网站如果不是最低级的菜鸟写的,那么你这种IP访问的最低级的技术,我直接做个判断,你这种频繁访问的,直接禁掉你的ip。你的连接发送过来了,我一律不受理。你肿么办?大型的攻击都是用肉鸡,不同的IP同时访问造成对方瘫痪的。如果人家有不错的技术,访问人数过多的话,会自动拒绝所有请求,防止瘫痪。你也没辙。
黄益生2019-11-05 20:19:18

提示您:回答为网友贡献,仅供参考。

其他回答

  • 法一:当recv返回值小于等于0时,socket连接断开。但是还需要判断errno是否等于EINTR,如果errno==EINTR则说明recv函数是由于程序接收到信号后返回的,socket连接还是正常的,不应close掉socket连接。法二:structtcp_infoinfo;intlen=sizeofinfo;getsockoptsock,IPPROTO_TCP,TCP_INFO,&info,socklen_t*&len;ifinfo.tcpi_state==TCP_ESTABLISHED则说明未断开else断开法三:若使用了select等系统函数,若远端断开,则select返回1,recv返回0则断开。其他注意事项同法一。法四:intkeepAlive=1;//开启keepalive属性intkeepIdle=60;//如该连接在60秒内没有任何数据往来,则进行探测intkeepInterval=5;//探测时发包的时间间隔为5秒intkeepCount=3;//探测尝试的次数.如果第1次探测包就收到响应了,则后2次的不再发.setsockoptrs,SOL_SOCKET,SO_KEEPALIVE,void*&keepAlive,sizeofkeepAlive;setsockoptrs,SOL_TCP,TCP_KEEPIDLE,void*&keepIdle,sizeofkeepIdle;setsockoptrs,SOL_TCP,TCP_KEEPINTVL,void*&keepInterval,sizeofkeepInterval;setsockoptrs,SOL_TCP,TCP_KEEPCNT,void*&keepCount,sizeofkeepCount;设置后,若断开,则在使用该socket读写时立即失败,并返回ETIMEDOUT错误。
    龙巧妹2019-11-05 20:03:42

相关问答