Я скачал SNMP4J и добавил его в путь сборки моего проекта. Затем я добавил несколько кодов из http://shivasoft.in/blog/java/snmp/create-snmp-client-in-java-using-snmp4j/ и http://shivasoft.in/blog/java/snmp/creating-snmp-agent-server-in-java-using-snmp4j/ для проверки моего агента. Но теперь эти строки печатаются в консоли:
Exception in thread "main" java.lang.RuntimeException: java.net.BindException: Address already in use: Cannot bind
at org.snmp4j.transport.TransportMappings.createTransportMapping(TransportMappings.java:123)
at org.bihe.SNMPAgent.initTransportMappings(SNMPAgent.java:145)
at org.snmp4j.agent.BaseAgent.init(BaseAgent.java:144)
at org.bihe.SNMPAgent.start(SNMPAgent.java:157)
at org.bihe.TestSNMPAgent.init(TestSNMPAgent.java:35)
at org.bihe.TestSNMPAgent.main(TestSNMPAgent.java:13)
Caused by: java.net.BindException: Address already in use: Cannot bind
at java.net.DualStackPlainDatagramSocketImpl.socketBind(Native Method)
at java.net.DualStackPlainDatagramSocketImpl.bind0(Unknown Source)
at java.net.AbstractPlainDatagramSocketImpl.bind(Unknown Source)
at java.net.DatagramSocket.bind(Unknown Source)
at java.net.DatagramSocket.<init>(Unknown Source)
at java.net.DatagramSocket.<init>(Unknown Source)
at org.snmp4j.transport.DefaultUdpTransportMapping.<init>(DefaultUdpTransportMapping.java:100)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.snmp4j.transport.TransportMappings.createTransportMapping(TransportMappings.java:104)
... 5 more
Я загрузил свой дырочный проект в mediafire: https://www.mediafire.com/?lcyap63rs93qdwo кто-нибудь может объясните мне, почему программа выбрасывает эти исключения? Я раньше не работал с snmp, и это мой первый опыт исследования в сетевом курсе.