Documentation Contents

# Networking Features and Enhancements

## in Java SE version 1.4

## IPv6 (Internet Protocol version 6)

Java SE 1.4 supports IPv6 in TCP and UDP-based applications, including multicast, and will support most end-user applications in use today. See the IPv6 User Guide.

## HTTP Digest Authentication

The HTTP digest authentication implementation has been updated to support proxies as well as origin servers, and has also been updated to provide all capabilities defined in RFC2617, except for the auth-int mode.

A number of system properties have been added which modify the behavior of the digest authentication mechanism. These are identified in the Networking Properties document.

## Unconnected/Unbound Socket Support

Allows more flexible socket creation, binding, and connection. Enables manipulation of socket options before establishing or accepting connections. In addition a timeout can be specified when establishing a connection.

New class `javax.net.ssl.SSLSocket` is a subclass of `java.net.Socket` that provides security through encryption. The mechanism is called the Java Secure Socket Extension (JSSE), and it provides encryption for data sent via sockets. See the JSSE Reference Guide for further information.

## Connected UDP Socket Support

The `DatagramSocket.connect` method now establishes the address association at native level. Where supported, this allows an application to have visibility of ICMP port unreachable messages as an indication that the remote application is unavailable.

## Uniform Resource Indentifier (URI)

Class `java.net.URI` is new in Java SE 1.4. It allows URI construction and parsing without the presence of a protocol handler, which is not possible with the URL class. The URI class is compliant with RFC 2396 and RFC 2732.

## FTP Protocol Handler

Significant overhaul to make the functionality conform as much as possible to the current standards (RFC 1738 and 959). This enhancement fixes several bugs associated with FTP functionality. For example, passive mode for FTP works in Java SE 1.4.

## JNDI DNS SP Support in InetAddress

This enhancement in class `java.net.InetAddress enables applications to configure a pure Java name service provider by using a DNS name service provider through JNDI. See JNDI DNS service provider settings in the Network Properties document for information on enabling this support.`

## URLEncoder and URLDecoder Improvements

Methods `URLEncoder.encode(String s, String enc)` and `URLDecoder.decode(String s, String enc) have been added to enable applications to use other character encoding/decoding schemes.`

## TCP Out-of-Band Data

Two new methods in class `java.net.Socket`, `sendUrgentData()` and `getOOBInline(), provide limited support for TCP urgent data for support certain legacy applications. Urgent data may be sent on any TCP socket. However, only partial support for receiving urgent data is provided.`

## SOCKS

Full V5 (RFC 1928) & V4 TCP support with autonegociation with the proxy of which version to use. See the SOCKS protocol support settings in the Network Properties document for information about using properties to specify the SOCKS proxy server.

## NetworkInterface

Class `java.net.NetworkInterface is new in Java SE 1.4. It allows enumeration of interfaces and addresses. This new class should be useful to applications deployed on multihomed and machines with multiple network interfaces.`

## Other Major Improvements

Java SE 1.4 also offers the following.

- Improved Http streaming performance.
- Request and response headers processing functionality in the form of these new methods in class `java.net.URLConnection`"

  `addRequestProperty
  getRequestProperties
  getHeaderFields`

- Improved error handling implementation for method `HttpURLConnection.getErrorStream()`.

## New Classes

Here are links to the API specifications for the new classes and exceptions in the `java.net` package.

- `Inet4Address`
- `Inet6Address`
- `InetSocketAddress`
- `NetworkInterface`
- `SocketAddress`
- `URI`
- `PortUnreachableException`
- `SocketTimeoutException`
- `URISyntaxException`

Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved.
Contact Us