MacOS 10.7.3,python 2.5Python pyserial和失控的CPU使用率
我正在使用pyserial打開到外部服務器的連接。打開連接爲:
HOST = '10.0.0.1'
PORT = '16010'
theURL = 'socket://' + HOST + ':' + PORT
conn = serial.serial_for_url(theURL, baudrate=115200)
conn.timeout = 2
,然後讀看起來是這樣的:
try:
while len(rawData) == 0 and self.shutdown == False:
rawData = conn.readline()
except:
some error handling code...
的問題是,如果我在10.0.0.1:16010代碼保持運行殺死服務器,但CPU使用率達到100%。沒有錯誤被拋出,所以除了從不輸入。
這看起來像是pyserial中的一個問題,但也許有人在這裏遇到過這種情況,並且知道如何檢測丟失的連接,以便可以正常處理情況。
謝謝。
的Readline是希望該應用,因爲進入的記錄是不同的長度,但都\ n終止。如果要糾正錯誤的唯一方法是一次讀取字符並以這種方式構建字符串,我想它可以工作......但這似乎是不必要的工作。但是,問題是沒有引發異常,所以錯誤捕獲不起作用。 – user1200376 2012-02-09 20:14:29