所以我想了解一般情況下的網絡連接,尤其是在這個時間點的套接字。我正在使用Python套接字庫來處理事情。socket.connect()在內部做什麼?
我在互聯網上遇到很多例子,通過簡單的ECHO服務器演示TCP和UDP套接字。
對於TCP同行的資源表明TCP回聲客戶端使用
socket_object.connect()連接到了它的服務器和交換數據。 同樣,TCP回顯服務器使用 listen()和accept()來處理與客戶端的連接和交互。
問題
- 現在這些資源提的是它是一個TCP連接,並面向因此 連接(我的理解概念)。請幫助 我明白它是什麼意思說連接導向 執行明智嗎?那麼connect(),listen()和accept()API如何幫助實現這一點?
同樣,對於UDP對應端,resources建議 UDP回顯客戶端不使用任何connect(),UDP服務器也不使用任何listen()或accept()方法。這有助於實現 無連接行爲。請幫助我瞭解具體到底是什麼?或者 可能是答案,上面的問題1也會幫助我理解這個 。
此外,在我們的情況下UDP回顯客戶端,爲什麼它不需要 綁定到套接字。即使能夠將數據發送到遠程服務器,它是否仍然不需要套接字端點來實際發送數據並在服務器將其發回時接收數據?或者,本質上,我想,理解bind()在內部會做什麼會幫助我理解這一點。
謝謝,這是一個體面的答案是試圖解釋一些事情,但也只從概念的抽象角度來看這是一件好事,我已經相當明白了。 但是,如果你仔細看一下我的問題,也許我可以做的更好,以強調它,它是關於要求它的內部。例如,從實現的角度來看,如何實現面向連接?我的意思是有一些令牌等,類似於會話cookie,例如在web應用等情況下?如果你能對此有所瞭解,將不勝感激。 – qre0ct