我对Java套接字编程很新颖。我已经考虑过java只处理Internet域套接字,它将支持UDP和TCP以及原始IP协议。我想知道java是否支持Raw Sockets而不使用任何第三方应用程序?如果有可能的话,任何人都可以用一个小例子来帮助我?任何小小的建议都会非常棒!java中的原始套接字
回答
Java标准库中对raw sockets唯一真正可用的支持似乎是InetAddress.isReachable(),如果允许,它可以执行ICMP ping操作。这实际上并不多,甚至可能不是真正的原始套接字,只是一个协议。
对于其他类型的原始通信,我建议使用Berkley sockets under Linux(需要root权限)通过一些基于JNI的包装。
查看评论原来的帖子。所有“java.net”接口都支持Berkley套接字协议,并且在JVM中实现。 – 2013-02-14 11:19:26
“原始套接字”理解能够编写完全自定义网络数据包的东西,支持诸如任意(不仅仅是ping)ICMP请求之类的东西。 – h22 2013-02-14 11:25:43
@詹姆斯安德森 - 你的评论没有任何意义。 1)伯克利套接字是一种API,不是协议。 2)虽然JVM可能(或可能不)在内部使用这些C/C++ API,但它们不能直接用于Java代码。 – 2013-02-14 11:35:54
- 1. recv与原始套接字
- 2. 使用原始套接字
- 3. UDP - 原始套接字 - C#
- 4. Haskell中的原始套接字
- 5. Python中的QDISC_BYPASS(原始套接字)
- 6. Python原始套接字接收问题
- 7. 单点触摸的原始套接字
- 8. 如何在java中打开第2层原始套接字?
- 9. 原始套接字编程UDP Python
- 10. 原始套接字需要root权限
- 11. 原始UDP套接字卡住recvfrom
- 12. UDP原始套接字设置消息
- 13. 原始套接字不发送
- 14. 从套接字读取原始数据
- 15. winpcap/libpcap与原始套接字
- 16. 在python中的原始套接字的网络接口?
- 17. 在pthreads原始套接字中接收数据包
- 18. WebSockets vs Flash中的原始TCP套接字
- 19. ioctl FIOREAD在Linux中的原始套接字
- 20. 在Windows中的原始套接字实现?
- 21. 访问Android插装测试中的原始套接字
- 22. 有关Node.js中原始套接字的一些问题
- 23. 没有正确的数据正在接收原始套接字
- 24. Java中的套接字...?
- 25. Java中的SSL套接字
- 26. 如何在Perl中使用原始套接字?
- 27. Python原始套接字(Windows)中:嗅探以太网帧
- 28. 原始套接字在Silverlight中收听REST通道
- 29. 在OS X中原始套接字sendto()失败
- 30. 在原始套接字中禁用网桥转发
如果你想要Java源代码实现套接字,然后看一看源代码http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/ java/net/Socket.java – AurA 2013-02-14 11:05:40
是java支持行插座吗? – Nikhil 2013-02-14 11:11:41
TCP/IP和UDP不是原始套接字。 – h22 2013-02-14 11:14:18