iostream.py 文件源码

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

项目:microProxy 作者: mike820324 项目源码 文件源码
def peek(self, length):
        """Peek into the underline socket buffer.

        Args:
            length (int): The peeking buffer length.

        Returns:
            (bytes): Bytes of buffer.

        Raises:
            ValueError: If length is not int and smaller than one
            will raise ValueError.
        """
        if not isinstance(length, int) or length < 0:
            raise ValueError("Incorrect length.")

        # TODO: Change into nonblocking mode.
        self.socket.setblocking(True)
        while True:
            try:
                _data = self.socket.recv(length, socket.MSG_PEEK)
            except socket.error:
                continue
            except:
                raise
            else:
                return _data
            finally:
                self.socket.setblocking(False)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号