我對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. Scapy的原始套接字
- 2. recv與原始套接字
- 3. UDP - 原始套接字 - C#
- 4. 使用原始套接字
- 5. Lua:原始套接字
- 6. python3中的原始套接字
- 7. Haskell中的原始套接字
- 8. Python中的QDISC_BYPASS(原始套接字)
- 9. TCL中的原始套接字
- 10. Rust中的原始套接字
- 11. 是否有Java中的原始套接字API也有幫助
- 12. Python原始套接字接收問題
- 13. 原始套接字:不適當的ioctl
- 14. 單點觸摸的原始套接字
- 15. android上的原始套接字程序
- 16. 如何在Java中使用ZeroMQ創建原始套接字?
- 17. 如何在java中打開第2層原始套接字?
- 18. Linux C原始套接字TCP握手
- 19. 原始UDP套接字卡住recvfrom
- 20. 從套接字讀取原始數據
- 21. 使用原始套接字(C++)
- 22. 原始套接字 - C# - 設置標誌
- 23. 原始套接字監聽器
- 24. UDP原始套接字設置消息
- 25. C API並獲取原始套接字
- 26. 原始套接字 - 網際協議層
- 27. 原始套接字需要root權限
- 28. Lua原始套接字示例
- 29. winpcap/libpcap與原始套接字
- 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