zoukankan      html  css  js  c++  java
  • python 服务端判断客户端异常断开

    在进行 python 套接字编程时,服务端程序要判断客户端是否异常断开【由于断电或者其他突发情况导致链接中断】,可以通过以下几种方式判断:

    1、如果通信协议中,设有心跳包,则可记录上次收到时间,将服务端epoll 设为水平触发,这样就会有不断的可读事件触发,在判断读到的字符为空字符时,通过当前时间与上次收到数据时间的时间差,来判断客户端存活否;

    2、将服务端epoll 设为水平触发,这样就会有不断的可读事件触发,在判断读到的字符为空字符时,向客户端尝试写数据,通过捕捉异常 IOError,来判断客户端的链路是否已断开。

    3、构造链接类,包含链接句柄和时间字段[客户端最近活跃时间],然后开一个看门狗线程,定期的扫描链接队列,如果该链接实例时间超过自己定义的超时时间,则删之。扫描的频率视情况而定。

  • 相关阅读:
    HTTP解决了什么问题?
    OSI模型--TCP/IP
    USB取证工具-Usbrip
    ModSecurity OWASP 规则集说明
    WAF简介及ModSecurity-nginx搭建
    aSYNcrone-ddos
    Centos7安装php7.1
    Centos7基于LNMP架构搭建DVWA
    web扫描器-uniscan
    基于腾讯云搭建宝塔面板
  • 原文地址:https://www.cnblogs.com/johnchain/p/3368454.html
Copyright © 2011-2022 走看看