数据输出过大导致python socket corrup

2024-03-02 21:25:26 发布

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

我的代码如下:

class TCPHandler(SocketServer.StreamRequestHandler):
   def handle(self):
      while True:
         self.data = self.rfile.read()
         output = parse(self.data)
         self.wfile.write(output+'\n')

输出数据非常大,大约5MB。它导致了以下异常:

^{pr2}$

我应该在函数中添加一些参数吗wfile.write文件(). 有什么意见请提前谢谢!在


Tags: 代码selftrueoutputdatadefclasswrite
1条回答
网友
1楼 · 发布于 2024-03-02 21:25:26

当你说

self.data = self.rfile.read()

你把你正在读的东西全部加载到变量中。整件事。这是read()的缺点。为了减轻负担,可以考虑使用readline()创建一个for循环,并在执行过程中解析/编写它。这样的话,你的计算机在任何一个给定的点上都要处理的量要少得多。在

^{pr2}$

另外,不确定while循环为什么存在,因为代码应该用while循环的一次迭代来完成它的工作。在

相关问题 更多 >