【问题标题】:XWindow ignores multiple ClentMessage's sent during same secondXWindow 忽略在同一秒内发送的多个 ClentMessage
【发布时间】:2010-09-09 03:06:14
【问题描述】:

在为我们的旧版 XWindows 应用程序开发时遇到了一个有趣的问题。

由于无法解释的原因,我将 ClientMessage 从命令行实用程序发送到 GUI 应用程序。大多数消息最终具有相同的内容,因为消息的目的是触发同步通信过程一些侧管。我注意到有时我会发送两条消息,但只有一条被传递。我已经追溯到这样一个事实,即两条消息具有相同的内容并且在同一秒内发送(IOW,发送时的日志时间戳是相同的数字)。一旦我在消息中添加了一些虚拟内容以使它们完全不同,问题就消失了。

这发生在两个不同的 X 服务器上:vncserver 和 Exceed。我是否遇到了一些我不知道的 XWindows 功能 - 某种消息限制/压缩?有没有人遇到过这种情况?

【问题讨论】:

标签: x11


【解决方案1】:

X 服务器不应该压缩我知道的客户端消息,但也许某些 X 工具包(Motif、Xaw 等)会压缩它们。这是我要寻找的第一件事 - 也许接收消息的 GUI 应用程序在应用程序代码看到它之前正在工具包内的某个地方进行压缩。

再一次,vncserver 和超过可能比其他 X 服务器更关注远程使用,并且它们可能包含一些不明智的压缩黑客,可以想象。我已经阅读了很多 X 规范并编写了很多 X 代码,但从未听说过这种行为。

一个随机的不太可能的想法,请确保在命令行应用程序退出之前在其末尾有一个 XFlush() 或 XSync(),以确保在关闭之前将这些消息写入套接字。但我不知道如果这是问题,为什么消息内容会很重要。

【讨论】:

  • 感谢您的回答。 X端的工具包是Open Interface(AKA Neuron data),上帝帮助我。我会睁大眼睛...
猜你喜欢
  • 1970-01-01
  • 2020-09-09
  • 2017-01-07
  • 1970-01-01
  • 2022-11-17
  • 2020-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多