2
「此模塊爲編寫異步套接字服務客戶端和服務器提供了基本的基礎結構。」 http://docs.python.org/2/library/asyncore.html#module-asyncore點對點可能與python的asyncore?
如果我想要一個非客戶端 - 服務器架構,如點對點,可asynchat/asyncore仍然做的工作,或是否強制客戶端 - 服務器模式?
「此模塊爲編寫異步套接字服務客戶端和服務器提供了基本的基礎結構。」 http://docs.python.org/2/library/asyncore.html#module-asyncore點對點可能與python的asyncore?
如果我想要一個非客戶端 - 服務器架構,如點對點,可asynchat/asyncore仍然做的工作,或是否強制客戶端 - 服務器模式?
根據定義,對等意味着直接連接,省略了中央服務器的思想(至少爲了發送數據,它仍然可能用於在一起設置用戶)。點對點與其核心的點對點服務器通信沒有很大的區別 - 它是A和B之間的通信套接字。 當然,通過服務器來對等地運行它有一些缺點,例如你必須進行協商NAT之間找出哪一個將成爲主機,以及哪一個將連接到它。對於兩個用戶都位於NAT後面的情況,您還需要一些適當的位置。
將「客戶端」與「服務器」區分開來的唯一方法是他們是否接受傳入連接。 –
@JarrodRoberson而且服務器不會啓動到客戶端的連接。假設網絡中有5個對等點。加入第三方的對等方啓動了2個客戶端連接,並啓動了一個接收2個客戶端連接的服務器/偵聽器。爲了使用asyncore進行廣播,對等體#3必須將**作爲服務器**廣播給2個對等體,並且將**作爲客戶機**廣播給2個對等體。在「真正的」P2P中,您將無法播放所有套接字。或者我錯過了什麼? – gentimouton