2015-01-15 79 views
-1

我使用isis2开发了一个复制应用程序。它的工作方式是通过路由器连接运行应用程序的两台主机。我尝试通过端到端的以太网电缆连接这两台主机,但失败了。以下是错误例外:isis2应用程序连接失败

MCMD SockSetup failed: error <System.Net.Sockets.SocketException: Network subsystem is down 
at System.Net.Sockets.Socket.SetSocketOption (SocketOptionLevel optionLevel, SocketOptionName optionName, System.Object optionValue) [0x00000] in <filename unknown>:0 
at Isis.MCMDSocket.MCMDSockSetup (System.Net.IPAddress theIPAddr) [0x00000] in <filename unknown>:0 > MCMD Mapping: 
Group [ORACLE]: rate = 0 VirtIPAddr=224.0.19.136, mapped to 224.0.19.136 

是否可以工作?此连接是否与IP组播不兼容?

+0

你还没有告诉我们关于你的系统配置的方式,甚至你正在运行什么O/S。一般来说,如果您要求帮助,那么知道以下内容会很高兴:Linux或Windows还是什么?什么是网络接口配置参数?等等......在isis2.codeplex.com上还有大量的关于如何处理这个问题的Isis2文档,而且您似乎没有意识到这一点 - 是否阅读了isis2用户手册的这一部分? – 2015-01-16 12:32:20

回答

0

那么,根据配置,你的系统认为以太网端口不能支持IP多播。你有两个选择。一种是修复配置(并且你还需要确保iptables被配置为允许数据包通过或禁用)。另一种选择是只使用Isis2选项仅通过UDP运行,或者仅在不允许UDP通信的平台上才通过TCP运行。

+0

非常感谢。正如你所说,我在接口上添加了一个IP多播组地址(224.0.0.0/4)。有用。我认为以太网接口应该启用IP多播,否则数据无法知道在哪里发送多播。 – John 2015-01-16 16:39:55

+0

是的,但Isis2无法做到这一点;它只是一个软件库,并没有所需的权限。你需要手工完成,就像你刚才那样。某些管理操作只能通过Linux配置命令完成,并且无法在与最终用户代码链接的软件库中合理完成,并在某些随机用户的uid下运行。 – 2015-01-16 18:33:16