03_02_ping_remote_host.py 文件源码

python
阅读 31 收藏 0 点赞 0 评论 0

项目:011_python_network_programming_cookbook_demo 作者: jerry-0824 项目源码 文件源码
def ping_once(self):
        """
        Returns the delay (in seconds) or none on timeout.
        """

        icmp = socket.getprotobyname("icmp")
        try:
            sock = socket.socket(socket.AF_INET, socket.SOCK_RAW, icmp)
        except socket.error, (errno, msg):
            if errno == 1:
                # Not superuser, so operation not permmited
                msg += "ICMP messages can only be sent from root user processes"
                raise socket.error(msg)
        except Exception, e:
            print "Exception: %s" %(e)

        my_ID = os.getpid() & 0xFFFF

        self.send_ping(sock, my_ID)
        delay = self.receive_pong(sock, my_ID, self.timeout)
        sock.close()
        return delay
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号