基于 java NIO 的 TFTP 客户端
TFTP client based on java NIO
我正在尝试使用 Java NIO 实现 TFTP 客户端。但它会导致错误:
network error: Address already in use: 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);
由于我是这个网络概念的新手,所以我无法理解原因。非常感谢解决此问题的任何帮助。
如果您正在开发客户端,您应该 .connect()
连接到套接字,而不是 bind()
'ing(用于服务器),例如:
DatagramChannel channel = DatagramChannel.open();
channel.connect( new InetSocketAddress( "10.86.4.250" , 69 ) );
...
干杯,
看看 TFTPClient 客户端是如何实现的。
方法 initialiseSocket
和 sendTftpPacket
更有趣。
基本上不需要绑定socket()。
我正在尝试使用 Java NIO 实现 TFTP 客户端。但它会导致错误:
network error: Address already in use: 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);
由于我是这个网络概念的新手,所以我无法理解原因。非常感谢解决此问题的任何帮助。
如果您正在开发客户端,您应该 .connect()
连接到套接字,而不是 bind()
'ing(用于服务器),例如:
DatagramChannel channel = DatagramChannel.open();
channel.connect( new InetSocketAddress( "10.86.4.250" , 69 ) );
...
干杯,
看看 TFTPClient 客户端是如何实现的。
方法 initialiseSocket
和 sendTftpPacket
更有趣。
基本上不需要绑定socket()。