【发布时间】:2013-10-08 07:06:59
【问题描述】:
我正在移植一些旧代码,并收到此弃用通知。我应该把它升级到什么?
warning: [deprecation] send(java.net.DatagramPacket,byte) in java.net.MulticastSocket has been deprecated
socket.send(packet,(byte)ttl);
这是有问题的代码:
packet = new DatagramPacket(msg, msg.length, address, port);
socket.send(packet,(byte)ttl);
更新:
如果您在设置 TTL 时遇到问题(即,当您查看数据包时,TTL 始终为 1),那么更新此代码将无济于事(尽管它确实会使弃用警告消失)。您可能遇到过这里讨论的 Java 运行时错误:
【问题讨论】:
-
你考虑过阅读 Javadoc 吗?
-
@EJP,我没有。我一生只写过 12 行 java 代码,其中两行出现在上面。自从我在 2008 年第一次编写它们以来,它们一直运行良好。现在我们的新系统上显然有一个 java 版本的碰撞,这给了我这个警告。 Stack Overflow 的优点之一是特定系统的非常随意的用户可以从 caskey 等专家那里获得帮助,并且可以为其他人提供帮助。如果我要成为一名认真的 Java 程序员,我会花时间在文档上,但现在我只是感激地依赖其他人的帮助。
-
你做错了。您应该开始阅读相关文档,然后如果您仍然卡住尝试互联网。在这种情况下,您的模具会立即得到您的答案。这就是我建议它的原因。
-
@EJP,点了。事实证明,对我来说,修复已弃用的表单并没有解决我的问题,因为存在一个 java 运行时错误,它在运行双 ipv4/ipv6 堆栈的机器上表现出来。谢谢!
标签: java deprecated multicast