Win2008 R2上的MSMQ不会接收来自旧客户端的消息

时间:2010-03-03 14:10:40

标签: windows-7 windows-xp windows-server-2008 windows-server-2003 msmq

我在这里与一个非常奇怪的问题作斗争。我有一个安装了消息队列的Windows 2008 R2服务器。在另一台计算机上,运行Windows 2003是一项服务,设置为将消息发送到2008服务器上的公共队列。但是,消息永远不会显示在服务器上。

我写了一个小型控制台应用程序,只是将“Hello World”消息发送到2008机器上的测试队列。在XP或2003上运行此应用程序绝对没有任何结果。但是,当我尝试在Windows 7计算机上运行应用程序时,会发送一条消息。

我经历过各种安全设置,在所有机器上禁用了防火墙等。事件日志没有任何兴趣,并且没有异常被抛出。

在服务器上运行数据包嗅探器(WireShark)只会显示一点点。当尝试从XP或2003发送消息时,我只在端口3527上看到ICMP错误“Port Unreachable”(我收集的是MQPing数据包?)。在那之后,沉默。当我从Win7客户端尝试时,Wireshark显示了一个很好的小数据包流(正如预期的那样 - 消息从Win7中得到很好的传递)。

我已在服务器上启用MSMQ End2End日志记录,但只有来自我的Win7计算机发送的消息中的条目才会显示在日志中。

所以不知怎的,似乎消息在从XP或2003到我的2008服务器的路径上的某个地方被静默删除。

有没有人知道可能导致这种神秘行为的原因?

1 个答案:

答案 0 :(得分:2)

一位名叫John Breakwell的人(http://blogs.msdn.com/johnbreakwell/default.aspx)回答了我的推文并指出了我自己的一条线索,即ICMP“Port Unreachable”。

他向我推荐了一个technet article,它告诉你如何重新启用在端口3527上运行的ping服务。只需要一个简单的注册表黑客(并重新启动MSMQ),现在我的Win2008服务器就是愉快地收到消息: - )