2011-08-26 45 views
0

連接建立之前套接字是否可以繼續嘗試連接到指定的套接字?python中的無限套接字連接嘗試

如果你可能介意我舉例說明它是如何完成的?我搜索了谷歌和堆棧溢出,但沒有發現任何有用的東西。

在此先感謝。

回答

2

如何:

while True: 
    if do_connection_attempt(): 
     break 

其中do_connection_attempt是試圖相連接的佔位符,返回True如果已建立了連接?

+0

或者更簡潔:'while do_connection_attempt():pass' – cdhowie

+0

它應該包含超時或休眠以保持CPU使用的合理性。 – Ber

+0

它可以在'do_connection_attempt()'中做到這一點。它會提高可讀性,如果循環留下這種方式(cdhowie的方式) –

-2

你是否指這樣的事情?

def run(self): 
    while True: 
     try: 
      self.csock.connect(self.ADDR) 
     except socket.error: 
      self.run() 

如果是這樣,經過幾次嘗試後會產生錯誤。

+1

不知何故,我不認爲遞歸調用無限循環內沒有休息是一個非常好的主意...... – immortal

+0

它肯定會產生錯誤,因爲它是無限遞歸的情況下(如果沒有建立連接) – Ber

+0

這應該如何寫呢?我現在完全失去了。 – Dinko