我使用 udp 编写了一个 C/S 应用程序,它不断给我错误,我认为这与我使用线程的方式有关。
当客户端程序启动时,它首先初始化一个登录窗口并启动一个新线程来监听来自服务器的响应。提交用户名和密码后,新线程会收到一条消息,表明它是否提交了正确的信息。如果是这样,那么线程将初始化主 GUI 窗口。但它会给出奇怪的错误:
Fatal IO error 11 (Resource temporarily unavailable) on X server :0.0
或者
python: Fatal IO error 0 (Success) on X server :0.0
我在这里发现了一个类似的问题,但没有解决。
有人说 GUI 应该只在主线程中操作,但其他人说这不是真的。
我还尝试使用gdk_threads_enter()
and gdk_threads_enter()
aroundgtk_main()
以及在该监听线程中初始化窗口的代码。但它似乎没有用。
我对线程了解不多,所以在指出我做错的地方时要耐心等待。
谢谢。