JDK-4093850 : ICMP protocol support a.k.a. PING applets
  • Type: Enhancement
  • Component: core-libs
  • Sub-Component: java.net
  • Affected Version: 1.1.4,1.1.6,1.2.0,1.2.2
  • Priority: P5
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic,solaris_2.5.1,windows_nt
  • CPU: generic,x86,sparc
  • Submitted: 1997-11-19
  • Updated: 2002-02-22
  • Resolved: 2002-02-22
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Description

Name: rm29839			Date: 11/18/97


Since it is very nasty trying to add this
ourselves, please add an API to the ICMP
protocol so we can ping and traceroute, etc
from Java applets
(Review ID: 20054)
======================================================================

Name: krT82822			Date: 09/06/99


I want to create a distributed network resource management tool using Java and CORBA. I require the ability to discover the topology of a network. Current methods use DNS, ICMP and SNMP. ICMP is part of IP datagram. There is no ability to modify IP packets or use raw sockets in Java. I have encountered many programmers who wish that tools such as ping and traceroute can be implemented in pure Java, thus making it trully portable and also to give the desired/correct results.

6 Sep 99 eval1127@eng -- see bug # 4204320, 4093850, 4156236, 4140503 (and probably others)
(Review ID: 94915)
======================================================================

Name: rlT66838			Date: 11/12/99


java version "1.2.2"
Classic VM (build JDK-1.2.2-W, native threads, symcjit)


We absolutely need some sort of ICMP and TCP packet access
from java.net.*

Without this, it is *impossible* to write any non-trivial
network monitoring, control or reporting application.
If I need to monitor machines on my network to see if they
are up or the network status/saturation, well, I cannot do
this without ICMP.

This is a major major drawback with java.net.*
Why not just add this support with the appropriate security
permissions ?

There is NO reason why an application, in java, cannot access
ICMP. More and more network tools, servers etc are written
in java. Without support for just a core function, these
tools are never going to be anything else than toy applications.
(Review ID: 97795)
======================================================================

Comments
WORK AROUND Name: rm29839 Date: 11/18/97 ====================================================================== Name: krT82822 Date: 09/06/99 The best workaround suggested by other programmers is to use the UDP Echo port, or to imlement ping using native method. (Review ID: 94915) ====================================================================== Name: rlT66838 Date: 11/12/99 There is NO workaround for this functionality. JNI is not feasible because if the user has to do this, then that breaks java's write once, run anywhere promise. No third party libraries exist for this. Even if they did, they would not be WORA. Spawning a new shell to ping 100 hosts every second is of course not feasible. (Review ID: 97795) ======================================================================
11-06-2004

EVALUATION A large number of developers on the JDC have voted for this feature. It is clear that there is requirement for raw socket support so that networking utilities and daemons can be implemented in the Java Language. We are now tracking this feature for tiger and specifically raw socket and an advanced socket API (RFC 2292) support. It is being tracked in 4639861 rather than this RFE so I need to close this RFE as a duplicate. ###@###.### 2002-02-22
22-02-2002