2015-01-15 67 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