DatagramSocket ds = new DatagramSocket(12345); //这里,12345是端口
while (true) {
byte[] bys = new byte[1024];
DatagramPacket dp = new DatagramPacket(bys, bys.length);
ds.receive(dp);
String ip = dp.getAddress().getHostAddress();
String s = new String(dp.getData(), 0, dp.getLength());
System.out.println("from " + ip + " data is : " + s);
}
为什么?
答案 0 :(得分:0)
您所获得的UnsatisfiedLinkException
表示标准类库中的方法缺少本机代码实现。这是一个"不应该发生"问题
您设法让代码从NetBeans而不是Eclipse运行,这意味着Eclipse启动程序配置中的某些内容会被破坏,而不是您正在使用的JDK。
我建议尝试从命令行运行应用程序。
修复Eclipse问题:
答案 1 :(得分:0)
如果您查看api,那么UnsatisfiedLinkException
发生仅时:
如果Java虚拟机无法找到合适的内容,则抛出该异常 声明为native的方法的本地语言定义。
您需要查看使用eclipse运行的JVM。您的代码或eclipse本身应该没有问题。这只是一个JVM问题。它试图找到你的系统的方法实现,它只是找不到它。如果你在Windows上运行它可能是一个DLL相关的问题。也许您需要更新一些驱动程序或JVM,以便它支持您在Windows中的当前实现。