读取从StreamRequestHandler wri发送的数据

2024-09-29 18:54:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个SocketServer.StreamRequestHandler呼叫的服务器self.rfile.readline文件()读取请求,然后调用self.wfile.write(data)发送回一些数据:

class FileServerHandler(SocketServer.StreamRequestHandler):

    def handle(self):
            # self.rfile is a file-like oject created by the handler
            data = self.rfile.readline()
            if data == "msg":
                    self.wfile.write(someOtherData)

我希望我的客户端能够发送请求并从服务器接收“someOtherData”:

^{pr2}$

但当我尝试这个的时候,客户就挂了。我哪里出错了?还有必要知道socket recv有多少数据,或者有没有一种方法只接收服务器写入的所有数据?在


Tags: 文件数据self服务器datareadlinedefclass
2条回答

当您的服务器正在执行self.rfile.readline文件()它一直在读取,直到收到换行符(“\n”)字符。所以你的客户需要短袜发送(“msg\n”)以终止读取命令。在

除了Jan的回答,我想提到如果您想收到您的确切消息,您需要使用strip删除您在字符串末尾的'\n'。在

相关问题 更多 >

    热门问题