2012-04-21 22 views
1

當啓動Windows上的多播的java插座,我得到以下錯誤(防火牆停用):Java的多播套接字不工作在Windows(SocketPermission的除外)

java.security.AccessControlException:訪問被拒絕(java.net.SocketPermission 230.0.0.1連接,接受,決心) 在java.security.AccessControlContext.checkPermission(來源不明) 在java.security.AccessController.checkPermission(來源不明) 在java.lang.SecurityManager.checkPermission(來源不明) 在java.lang.SecurityManager.checkMulticast(Unknown Source) at java.net.MulticastSocket.joinGroup(Unknown Source)ch.uzh.ifi.group10.server.RMIServer.startServer(RMIServer.java:176) ch.uzh.ifi .group10.server.RMIServer.main(RMIServer.java:279)

看來我無法加入多播組,因爲程序沒有對套接字的權限。有趣的是,相同的代碼在linux上沒有任何問題(ubuntu 11.10)。此外,我已經嘗試添加一個套接字權限sec​​urity.policy文件(權限java.net.SocketPermission「230.0.0.1」,「連接,接受,聽,解決」;)這也沒有幫助。

我卡住了,因爲我找不到任何其他地方的問題可能是什麼或我失蹤...任何想法?

+0

您正在構建一個獨立的應用程序還是一個小程序? – 2012-04-21 11:11:09

+0

獨立應用程序。我確實看到小應用程序需要在Windows上簽名,但這不適用於獨立應用程序或我錯了嗎? – Caroline 2012-04-21 13:16:49

+0

我應該更正:我發現在Linux上運行相同的錯誤(在我運行服務器的形式在Linux上的eclipse之前)。這使我更加困惑...... – Caroline 2012-04-21 14:01:46

回答

0

我發現了這個問題。安全管理器未正確加載。由於某些原因,Eclipse不需要安全管理器來成功運行