2015-12-10 223 views
0

我正在創建一個包含1個服務器和2個不同客戶端的應用程序。從服務器調用客戶端?

這兩個客戶端通過服務器進行通信。並想知道我如何從服務器'可以'調用'客戶端。

服務器具有

s = socket.socket() 
s.bind((host, port)) 
s.listen(1) 

和就我的理解它是等待客戶端發送,然後服務器可以做一些工作s.listen(1)。是否有可能做相反的事情?爲服務器調用客戶端上的偵聽器?

我還沒有使用任何庫以外的套接字和酸菜。

+1

究竟是什麼你的計劃? – glglgl

回答

0

那麼,這正是服務器和客戶端的定義。

但如果你想和你的「服務器」知道它的「客戶端」,他們可以交換角色。但是他們的名字也會改變。

話雖如此,這是完全可能在固定位置有一個「客戶端」和接觸其周圍等

OTOH進行一些服務器,它是以及可以使用已經存在的協議,而是在連接上「反向」使用它。這是因爲建立連接後,兩端的功能不再固定;兩端擁有平等的「權利」。可能性。 (我不會走那麼遠,說他們不能區分任何更長的時間,但我認爲這是相當困難...)

這完全取決於你真正想要的...

+0

我正在尋找某種方式讓服務器告訴其中一個客戶端,當其他客戶端提交時。但是我可以繼續前進,也許每5秒鐘運行一次函數以查看服務器上是否有新內容。 – PushALU

+0

同樣,這取決於您使用的協議。客戶端是否永久連接到服務器,或者他們是否只是隨便連接?例如,好的舊UUCP協議的設計使它可以從兩個方向啓動,然後在兩個方向上傳輸數據... – glglgl

+0

我使用UCP。而客戶只是隨便連接。 – PushALU