请教一个问题

来源:3-3 实现网络请求处理器Handler类

Immortal7

2020-06-03 13:21

你好,9:45秒的self.rfile = self.request.makefile('rb'),这里的makefile是什么,没有接触过还望指教。去百度发现说makefile是什么古老的方法之类,看的迷糊。

写回答 关注

1回答

  • qq_慕斯0488176
    2020-08-01 16:33:38

    我是这么理解的:

    我的机器是Zorin OS

    先看socket.py(ctrl+左击可以查看), 找到accept()函数,可以看到其实它返回两个对象,第一个是一个socket对象,第二个是地址信息,那么,老师程序中的request本质上就是一个socket对象了,在socket类中查找makefile方法,如下所示:

    def makefile(self, mode="r", buffering=None, *,
                 encoding=None, errors=None, newline=None):
        """makefile(...) -> an I/O stream connected to the socket
    
        The arguments are as for io.open() after the filename, except the only
        supported mode values are 'r' (default), 'w' and 'b'.
        """
        #

    emmm 翻译一下就是说 返回了一个连接到套接字上的I/O流

    当然 你可以在自己的机器上查看查看,只是我的机器上是这样的!

【计算机网络篇】从0到1 实现HTTP服务器开发

快速&系统 在实践中掌握计算机网络编程基础

12138 学习 · 42 问题

查看课程

相似问题