使用Smack Jingle
ICETransportManager icemt0 = new ICETransportManager(conn, "stunserver.org", 3478);
服务器提示:
BindException , 地址已被使用:无法绑定
出现该错误,通常是本地端口被占用。可以检查:DiscoveryTest.java
test2() 方法:第170行左右:
int localPort = sendSocket.getLocalPort();
InetAddress localAddress = sendSocket.getLocalAddress();
sendSocket.close();
DatagramSocket receiveSocket = new DatagramSocket(localPort, localAddress);
receiveSocket.connect(ca.getAddress().getInetAddress(), ca.getPort());
receiveSocket.setSoTimeout(timeout);
这里重复循环调用不同端口,创建Socekt,假如有端口已被占用,则会出现如上异常
本文针对使用SmackJingle时遇到的端口被占用问题进行了解析,并给出了具体的排查步骤与解决方案,涉及如何修改代码以避免端口冲突。
179

被折叠的 条评论
为什么被折叠?



