zoukankan      html  css  js  c++  java
  • How to detect whether socket is still connected...

    How to detect whether socket is still connected…

    From wget source code…

    bool
    test_socket_open (int sock)
    {
      fd_set check_set;
      struct timeval to;
      int ret = 0;
    
      /* Check if we still have a valid (non-EOF) connection.  From Andrew
       * Maholski's code in the Unix Socket FAQ.  */
    
      FD_ZERO (&check_set);
      FD_SET (sock, &check_set);
    
      /* Wait one microsecond */
      to.tv_sec = 0;
      to.tv_usec = 1;
    
      ret = select (sock + 1, &check_set, NULL, NULL, &to);
    #ifdef WINDOWS
    /* gnulib select() converts blocking sockets to nonblocking in windows.
    wget uses blocking sockets so we must convert them back to blocking
    */
      set_windows_fd_as_blocking_socket ( sock );
    #endif
    
      if ( !ret )
        /* We got a timeout, it means we're still connected. */
        return true;
      else
        /* Read now would not wait, it means we have either pending data
           or EOF/error. */
        return false;
    }
    
  • 相关阅读:
    sql中添加唯一索引(非主键)
    Ubuntu 安装 LAMP 主机之后运行出现乱码
    编写安全 PHP 应用程序的七个习惯
    首先在服务器上安装ssh的服务器端
    php安全简析
    正确的Linux菱形乱码修改方法
    php安全
    变量作用域
    bind9 详细解析
    DNS和DHCP服务器
  • 原文地址:https://www.cnblogs.com/yangyingchao/p/3855547.html
Copyright © 2011-2022 走看看