2015-06-10 58 views
1

在我發現到目前爲止是這樣寫究竟是X11通道

服務器和客戶機之間的通信是通過在信道交換的數據包做了X11的所有單證。連接由客戶端建立(客戶端如何啓動未在協議中指定)。 (來自維基百科)

我一直無法準確找到這個頻道是什麼?例如網絡頻道?它在港口嗎?它是一個內存映射嗎?任何幫助表示讚賞。

回答

2

'channel'的表述有意含糊,因爲它可以通過本地套接字,遠程連接(如SSH),命名管道或允許客戶端/服務器雙向通信的其他方法。也就是說,「渠道」只是兩點之間的連接,便於交換數據。

通過SSH執行X11轉發時,通道是SSH連接。例如參見SSHman頁:

$ man ssh

X11連接和任意TCP/IP端口也可通過安全信道轉發。

或每x.org文檔:

X客戶機和服務器之間的通信信道是全雙工:任何一方都可以在任何時間發送消息到另一個。這通常是通過TCP/IP套接字接口實現的,但通常使用其他通信通道,包括Unix域套接字,命名管道和共享內存。通道必須提供可靠的有序字節流--- X協議不提供重新排序或重新發送數據包的機制。

2

X11支持客戶端和服務器之間的多種形式的通信。這些所謂的通道可以是TCP套接字,UNIX套接字以及一些其他網絡機制,例如DECnet,令牌環等.TCP和UNIX套接字是目前唯一使用的套接字。

X服務器是一個可訪問圖形硬件,鍵盤和鼠標的進程。在計算機屏幕上生成圖形的任何應用程序都稱爲客戶端。通常情況下,工作站上運行着X服務器和多個X客戶端。應用程序(客戶端)需要通過TCP套接字(通過IP地址和端口號標識)或通過UNIX套接字(通過文件名標識,例如/ tmp/X0)連接到X-Server

如果同時,服務器和客戶端,運行在它們通常通過UNIX套接字連接的同一個系統上。但是,X11的一個重要特性是服務器和客戶端不在同一個系統上,而是通過TCP套接字通過網絡連接。這使我們能夠在網絡上的不同計算機上運行應用程序,並將它們的圖形輸出顯示在一個屏幕上。 (單個應用程序也可能連接到多個X服務器並在多個屏幕上分發圖形內容。)

+0

'在計算機屏幕上生成圖形的任何應用程序都稱爲客戶端。客戶也可以在不需要繪畫的情況下進行綁定。 –