據架構可知,(滑鼠、視窗、鍵盤)操作在用戶端,操作完成之後通過socket發送給服務端,那麼第一步就是連接配接服務端。
先來測試代碼:
#include <wayland-client.h>
#include <iostream>
using namespace std;
int main() {
wl_display *display = wl_display_connect(0);
if (!display) {
std::cout << "Unable to connect to wayland compositor" << std::endl;
return -1;
}
wl_display_disconnect(display);
return 0;
}
代碼很簡單,就是
- 連接配接
- 判斷連接配接是否成功
- 關閉連接配接
編譯
all:
g++ -o connect connect.cpp -lwayland-client
終端執行
編譯生成程式,執行
./connect
沒有如何回應(那就對了,Linux下沒有回應就是最好的回應)。
但是這對于開發者來說不過友好,因為我不知道這中間有沒有什麼錯誤。
是以我們需要一個外部工具來檢視資訊,就是前面提到的wldbg
執行指令
[email protected]:~/Desktop$ wldbg -s
Listening for incoming connections...
可以看到wldbg在等待連接配接
我們再次執行測試程式
./connect
可以看到wldbg立刻停止了運作(連接配接成功,但是并沒有執行什麼東西)。
至此第一步算是成功了。
完整代碼在Wayland_Frashman下的7.connect中。
本文首發于:XWayland入門7:連接配接server