我正在尝试使用Java NIO实现TFTP客户端。但它会导致错误:
网络错误:已在使用的地址:bind
此处共享代码段。
Selector selector = Selector.open();
DatagramChannel channel = DatagramChannel.open();
InetSocketAddress isa = new InetSocketAddress("10.86.4.250",69);
channel.socket().bind(isa);
channel.configureBlocking(false);
由于我是这个网络概念的新手,我无法理解原因。我们非常感谢您解决此问题的任何帮助。
答案 0 :(得分:1)
如果您正在开发客户端,则应.connect()
到套接字,而不是bind()
(用于服务器),例如:
DatagramChannel channel = DatagramChannel.open();
channel.connect( new InetSocketAddress( "10.86.4.250" , 69 ) );
...
干杯,
答案 1 :(得分:0)
了解TFTPClient客户端的实施方式。
方法initialiseSocket
和sendTftpPacket
更有趣。
基本上你不需要绑定socket()。