1

我正在尝试使用 Java NIO 实现 TFTP 客户端。但这会导致错误:

网络错误:地址已在使用中:绑定

代码片段在这里共享。

Selector selector = Selector.open();
DatagramChannel channel = DatagramChannel.open();
InetSocketAddress isa = new InetSocketAddress("10.86.4.250",69);
channel.socket().bind(isa);
channel.configureBlocking(false);

由于我是这个网络概念的新手,所以我无法理解原因。非常感谢解决此问题的任何帮助。

4

2 回答 2

1

如果您正在开发客户端,则应该.connect()使用套接字,而不是bind()'ing (用于服务器),例如:

DatagramChannel channel = DatagramChannel.open();
channel.connect( new InetSocketAddress( "10.86.4.250" , 69 ) );
...

干杯,

于 2015-05-19T13:07:35.607 回答
0

看看TFTPClient客户端是如何从实现的。
方法initialiseSocketsendTftpPacket更有趣。

基本上你不需要绑定socket()。

于 2015-05-19T13:08:07.843 回答