天天看点

Wayland入门7:连接server

据架构可知,(鼠标、窗口、键盘)操作在客户端,操作完成之后通过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

继续阅读