Java中的原始套接字 - java

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center。

7年前关闭。

我是java套接字编程的新手。我已经知道Java只处理Internet域套接字,它将支持UDP和TCP以及Raw IP协议。我想知道Java是否支持Raw Sockets而不使用任何第三方应用程序?如果有可能,有人可以帮我举个例子吗?任何小建议都会非常有用!

参考方案

Java标准库中对raw sockets唯一真正可用的支持似乎是InetAddress.isReachable(),如果允许,它可以执行ICMP ping。这确实不多,甚至可能不是真正的原始套接字,只是一个协议。

对于其他类型的原始通信,我建议通过一些基于JNI的包装器使用Berkley sockets under Linux(需要root权限)。

Java-通过套接字发送指向BufferedImage的对象 - java

我和一群朋友正在用Java开发项目,我们需要一些有关通过套接字发送对象的帮助。到目前为止,我们已经实现了使用ObjectOutputStream和ObjectInputStream通过套接字发送简单对象(int,字符串和诸如此类)的方法。但是,我们今天遇到了一个大问题(无论如何对我们来说都是巨大的^^)我们有一个树状结构,需要从一台PC发送到另一台PC。问题…

Java:线程池如何将线程映射到可运行对象 - java

试图绕过Java并发问题,并且很难理解线程池,线程以及它们正在执行的可运行“任务”之间的关系。如果我创建一个有10个线程的线程池,那么我是否必须将相同的任务传递给池中的每个线程,或者池化的线程实际上只是与任务无关的“工人无人机”可用于执行任何任务?无论哪种方式,Executor / ExecutorService如何将正确的任务分配给正确的线程? 参考方案 …

JAVA:字节码和二进制有什么区别? - java

java字节代码(已编译的语言,也称为目标代码)与机器代码(当前计算机的本机代码)之间有什么区别?我读过一些书,他们将字节码称为二进制指令,但我不知道为什么。 参考方案 字节码是独立于平台的,在Windows中运行的编译器编译的字节码仍将在linux / unix / mac中运行。机器代码是特定于平台的,如果在Windows x86中编译,则它将仅在Win…

java:继承 - java

有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…

Java:BigInteger,如何通过OutputStream编写它 - java

我想将BigInteger写入文件。做这个的最好方式是什么。当然,我想从输入流中读取(使用程序,而不是人工)。我必须使用ObjectOutputStream还是有更好的方法?目的是使用尽可能少的字节。谢谢马丁 参考方案 Java序列化(ObjectOutputStream / ObjectInputStream)是将对象序列化为八位字节序列的一种通用方法。但…