国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python提示[Errno 32]Broken pipe導致線程crash錯誤解決方法

2020-02-23 06:10:14
字體:
來源:轉載
供稿:網友

本文實例講述了Python提示[Errno 32]Broken pipe導致線程crash錯誤解決方法。分享給大家供大家參考。具體方法如下:

1. 錯誤現象
ThreadingHTTPServer 實現的 http 服務,如果客戶端在服務器返回前,主動斷開連接,則服務器端會報 [Errno 32] Broken pipe 錯,并導致處理線程 crash.
下面先看個例子,python 版本: 2.7
示例代碼
代碼如下:#!/usr/bin/env python
#!coding=utf-8
 
import os
import time
import socket
import threading
from BaseHTTPServer import HTTPServer ,BaseHTTPRequestHandler
from SocketServer import ThreadingMixIn
 
class RequestHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        """
        處理get請求
        """      
        query=self.path
        print "query: %s thread=%s" % (query, str(threading.current_thread()))
        
        #ret_str="<html>" + self.path + "<br>" + str(self.server) + "<br>" + str(self.responses) +  "</html>"
        ret_str="<html>" + self.path + "<br>" + str(self.server) +  "</html>"
        
        time.sleep(5)
        
        try:
            self.send_response(200)
            self.send_header('Content-type','text/html')
            self.end_headers()
            self.wfile.write(ret_str)
        except socket.error, e:
            print "socket.error : Connection broke. Aborting" + str(e)
            self.wfile._sock.close()  # close socket
            self.wfile._sock=None
            return False
       
        print "success prod query :%s" % (query)
        return True
 
#多線程處理
class ThreadingHTTPServer(ThreadingMixIn,HTTPServer):
    pass
    

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀远县| 南召县| 灯塔市| 台南市| 永靖县| 建宁县| 友谊县| 科技| 灵台县| 鱼台县| 象山县| 石城县| 岱山县| 隆德县| 凤翔县| 玛沁县| 永善县| 湖北省| 长岛县| 浦东新区| 名山县| 丽水市| 临桂县| 新河县| 纳雍县| 延边| 平陆县| 赤壁市| 锦屏县| 若尔盖县| 昌都县| 伽师县| 兴海县| 璧山县| 沅陵县| 星子县| 奇台县| 临漳县| 田东县| 黄陵县| 靖江市|