问题标签 [messages]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
5569 浏览

php - 什么是与 PHP 一起工作的好消息代理?

我正在寻找与 PHP 一起工作的消息代理(如 Apache ActiveMQ for Java),最好是开源的。有任何想法吗?

0 投票
2 回答
2071 浏览

windows - 向由不同 Windows 用户会话启动的应用程序发送消息

用户 A 启动了一个桌面应用程序(用 Delphi 制作)。我们称它为“实例 A”。

用户 A 执行“切换用户”,用户 B 登录。

用户 B 运行相同的应用程序。我们称它为“实例 B”

我现在想要的是实例 B 向实例 A 发送消息的一种方式。

我尝试了以下方法:实例 A 将其句柄写入文件,因此实例 B 可以打开该文件、读取句柄并使用它向实例 A 发布消息,但它不起作用——可能是出于安全原因 Windows不让一个用户访问另一个用户正在运行的进程的句柄......

这样做的“坏”方法是让实例 A 每隔几秒钟检查一次特定的文件或注册表位置,这样实例 B 可以在那里写一些东西,实例 A 会得到它……但这显然是一个繁琐且不雅的解决方案.

相反,我需要的是用户 B 的实例 B 向用户 A 的实例 A 发送无害消息的方法,之后实例 A 唤醒并决定如何处理它。

感谢您的任何建议!

0 投票
3 回答
3940 浏览

c++ - Qt 便携式 IPC:只有 QSharedMemory?

我正在寻找有关选择一种可移植的方式以稳健的方式实现本地 IPC 的建议,因为我是 C++ 新手,并且希望避免摆弄共享内存和锁的常见陷阱;因此我在考虑消息传递风格的 IPC。

无论如何,我正计划出于其他原因使用 qt,因此我查看了 Qt ipc 选项。

如果我理解正确,qt 不提供完全可移植的消息传递 IPC 功能。它可以使用 d-bus,但在 windows 上使用它会是一个问题。其他方式仅限于嵌入式 linux 平台(我想将这个东西移植到 AIX)。

我找不到使用 QSharedMemory 和 QSystemSemaphores 的“信号和插槽”或消息传递样式实现

因此:我是否仅限于在 QSM/QSS 上实现功能?我还可以学习哪些其他选择?posix管道?协议缓冲区?增加队列和消息?

我正在考虑在 LGPL/GPL 样式许可下发布代码,这是否排除了协议缓冲区或提升库?

请再次强调,界面必须简单且防新手(否则我肯定会搞砸事情的大局:)),类型的序列化/反序列化、错误处理和资源处理也应该如此。

0 投票
3 回答
4107 浏览

windows - Windows C++中的键盘钩子还是什么?

我希望构建自己的应用程序,可以将键盘命令(消息)发送到 Windows 操作系统。

例如,当我按下组合 ctrl+shift+n 时,我希望启动 notepad.exe 。我怎样才能做到这一点?你对我使用的概念有什么建议吗?

我读过这可能是什么时候使用键盘挂钩?这是唯一的方法吗?你知道一个免费的开源应用程序可以做到这一点吗?

0 投票
4 回答
52821 浏览

c# - WCF 错误:此工厂启用了手动寻址,因此发送的所有消息都必须预先寻址

我有一个托管的 WCF 服务,我为其创建了一个自定义工厂,以便它可以与多个主机标头一起使用:

我很确定我的配置文件现在在客户端和服务器上都是正确的(可以在这里看到)。

我得到的错误似乎与工厂有关:

该工厂启用了手动寻址,因此所有发送的消息都必须预先寻址。

错误发生在 line return base.Channel.GetData(value);

0 投票
7 回答
544 浏览

c++ - C++消息传递的疑惑

我正在编写一个需要在彼此之间交换消息的对象的软件。消息必须具有以下内容:

现在,Peer 必须是一个指针,因为我有另一个管理 Peers 的类。剩下的我很怀疑......例如,我可以在创建消息时复制消息文本和有效负载(通过分配两个新缓冲区),然后将删除放在消息的析构函数中。这具有避免忘记消费者函数中的删除的巨大优势(没有提到使这些函数更简单),但它会导致许多分配和复制,并且会使一切变慢。所以我可能只是分配指针并且仍然让析构函数删除一切......或者......这是一种常见的情况,在其他编程语言中甚至不是两难选择,因为有 GC。你有什么建议,最流行的做法是什么?

编辑:我的意思是我想知道传递内容的最佳实践是什么......比如拥有另一个跟踪它们的对象,或者可能是共享指针......或者你会做什么......

0 投票
3 回答
686 浏览

javascript - jQuery 队列消息

我有一个简短的功能,应该在网站上显示消息。

还有另一个隐藏消息的功能。

问题是,如果我多次调用此函数,它会尝试同时显示所有消息并且一切都会中断。我想调用该函数两次,然后它应该将动画排队并显示一条又一条消息。该函数应同时调用不止一次,但要一个接一个地显示。当冷杉隐藏时,应显示下一条消息。

我该如何解决问题?会好的!

0 投票
2 回答
250 浏览

mysql - 个性化欢迎信息

如何在我的主页上创建包含用户名的欢迎消息?

将记录集中的动态字段拖到我的页面上不起作用:

它继续使用表中的第一个用户名,而不是我登录的用户。我必须向我的 Application.CFC 页面添加一些内容吗?如果有任何区别,我正在使用 ColdFusion、Dreamweaver 和 MySQL。

谢谢你的帮助。

0 投票
1 回答
289 浏览

objective-c - 如何在 Interface Builder 中提供自己的已发送消息

我找不到有关方式的文档,其中 Interface Builder 确定 Sent Message outlets 用于触发事件的组件之间的图形连接和其他组件的消息。
我想生成封装有限状态自动机的组件。输入部分很简单,只需定义 IBAction 消息,您就可以在 Interface Builder 中连接它们。棘手的部分显然是这种连接的另一端。
我想为 FSM 触发的每个事件提供一个不同的插座,例如 NSButton 的“选择器”插座(在检查器的“连接”选项卡上的“已发送消息”下列出)。
如何以编程方式指定此类接口,我可以指定多个这些接口吗?还是这种方法不合适;通知会是更好的方法吗?(我使用 Visual Age 和 Parts 的图形连接,所以我更喜欢它们,但在 Interface Builder 中,对此类连接的支持似乎受到了某种限制)。

提前致谢

我的问题的第一部分已在“Send An Action Cocoa - IBAction”问题中得到解答。我仍在寻找定义多个“已发送消息”的可能性。

0 投票
1 回答
449 浏览

appdomain - AppDomain 和本机窗口消息

我有一个与 AppDomain 和 Windows 消息有关的问题。

要在 Internet Explorer 中托管的网页,其中包含 .Net WinForms UserControl 派生控件 - HelloWorldCtl。此控件位于 C# 编写的程序集 - HelloWorldControl.dll 中。该控件使用来自另一个用 C++/CLR 编写的程序集的代码 - HelloWorldLibCPP.dll。

HelloWorldCtl 加载 HelloWorldLibCPP.dll 并调用将创建 Win32 本机窗口的代码并将该窗口放置在 HelloWorldCtl 的区域中。

导航到网页,HelloWorldCtl 加载,我可以看到它以及 HelloWorldCtl 区域中心的本机窗口。

C# 控件和本机窗口都有一些消息处理程序,并且消息都可以正常工作并到达 C# 控件的窗口和本机窗口;鼠标点击、重新绘制等等……但是,本机窗口的一些消息处理程序需要调用作为本机窗口父级的 C# 控件上的方法。这是使用 C# 控件实现的接口完成的,并且本机窗口通过将其存储在 GCHandle 中(来自 System::Runtime::InteropServices)来保存对它的引用。我为 GCHandle 使用了 gcroot<> 模板。

当本机窗口中的代码尝试使用 GCHandle 调用 C# 控件上的任何方法时,此时会发生故障。(c++ 代码使用 /clr 编译为托管代码。)

抛出的异常是:

“无法跨 AppDomain 传递 GCHandle”

我放了一些调试代码来在 C# 和本机窗口中显示 CurrentDomain 的 Id 和 FriendName,我发现这些 AppDomain 并不相同。

在原生窗口的创建过程中,CurrentDomain 与 C# 控件相同,但是当原生窗口接收消息并处理这些消息时,CurrentDomain 与 C# 控件不同。

这种状况可以改变吗?是否可以让两个本机窗口消息处理程序在与 C# 控件相同的 AppDomain 中运行?

也许还有其他建议?

谢谢,罗杰