java.net
Class Socket

java.lang.Object sample code for java.lang.Object definition code for java.lang.Object 
  extended by java.net.Socket

public class Socket
extends Object sample code for java.lang.Object definition code for java.lang.Object

This class implements client sockets (also called just "sockets"). A socket is an endpoint for communication between two machines.

The actual work of the socket is performed by an instance of the SocketImpl class. An application, by changing the socket factory that creates the socket implementation, can configure itself to create sockets appropriate to the local firewall.

Since:
JDK1.0
See Also:
setSocketImplFactory(java.net.SocketImplFactory) sample code for java.net.Socket.setSocketImplFactory(java.net.SocketImplFactory) definition code for java.net.Socket.setSocketImplFactory(java.net.SocketImplFactory) , SocketImpl sample code for java.net.SocketImpl definition code for java.net.SocketImpl , SocketChannel sample code for java.nio.channels.SocketChannel definition code for java.nio.channels.SocketChannel

Constructor Summary
  Socket sample code for java.net.Socket.Socket() definition code for java.net.Socket.Socket() ()
          Creates an unconnected socket, with the system-default type of SocketImpl.
  Socket sample code for java.net.Socket.Socket(java.net.InetAddress, int) definition code for java.net.Socket.Socket(java.net.InetAddress, int) (InetAddress sample code for java.net.InetAddress definition code for java.net.InetAddress  address, int port)
          Creates a stream socket and connects it to the specified port number at the specified IP address.
  Socket sample code for java.net.Socket.Socket(java.net.InetAddress, int, boolean) definition code for java.net.Socket.Socket(java.net.InetAddress, int, boolean) (InetAddress sample code for java.net.InetAddress definition code for java.net.InetAddress  host, int port, boolean stream)
          Deprecated. Use DatagramSocket instead for UDP transport.
  Socket sample code for java.net.Socket.Socket(java.net.InetAddress, int, java.net.InetAddress, int) definition code for java.net.Socket.Socket(java.net.InetAddress, int, java.net.InetAddress, int) (InetAddress sample code for java.net.InetAddress definition code for java.net.InetAddress  address, int port, InetAddress sample code for java.net.InetAddress definition code for java.net.InetAddress  localAddr, int localPort)
          Creates a socket and connects it to the specified remote address on the specified remote port.
  Socket sample code for java.net.Socket.Socket(java.net.Proxy) definition code for java.net.Socket.Socket(java.net.Proxy) (Proxy sample code for java.net.Proxy definition code for java.net.Proxy  proxy)
          Creates an unconnected socket, specifying the type of proxy, if any, that should be used regardless of any other settings.
protected Socket sample code for java.net.Socket.Socket(java.net.SocketImpl) definition code for java.net.Socket.Socket(java.net.SocketImpl) (SocketImpl sample code for java.net.SocketImpl definition code for java.net.SocketImpl  impl)
          Creates an unconnected Socket with a user-specified SocketImpl.
  Socket sample code for java.net.Socket.Socket(java.lang.String, int) definition code for java.net.Socket.Socket(java.lang.String, int) (String sample code for java.lang.String definition code for java.lang.String  host, int port)
          Creates a stream socket and connects it to the specified port number on the named host.
  Socket sample code for java.net.Socket.Socket(java.lang.String, int, boolean) definition code for java.net.Socket.Socket(java.lang.String, int, boolean) (String sample code for java.lang.String definition code for java.lang.String  host, int port, boolean stream)
          Deprecated. Use DatagramSocket instead for UDP transport.
  Socket sample code for java.net.Socket.Socket(java.lang.String, int, java.net.InetAddress, int) definition code for java.net.Socket.Socket(java.lang.String, int, java.net.InetAddress, int) (String sample code for java.lang.String definition code for java.lang.String  host, int port, InetAddress sample code for java.net.InetAddress definition code for java.net.InetAddress  localAddr, int localPort)
          Creates a socket and connects it to the specified remote host on the specified remote port.
 
Method Summary
 void bind sample code for java.net.Socket.bind(java.net.SocketAddress) definition code for java.net.Socket.bind(java.net.SocketAddress) (SocketAddress sample code for java.net.SocketAddress definition code for java.net.SocketAddress  bindpoint)
          Binds the socket to a local address.
 void close sample code for java.net.Socket.close() definition code for java.net.Socket.close() ()
          Closes this socket.
 void connect sample code for java.net.Socket.connect(java.net.SocketAddress) definition code for java.net.Socket.connect(java.net.SocketAddress) (SocketAddress sample code for java.net.SocketAddress definition code for java.net.SocketAddress  endpoint)
          Connects this socket to the server.
 void connect sample code for java.net.Socket.connect(java.net.SocketAddress, int) definition code for java.net.Socket.connect(java.net.SocketAddress, int) (SocketAddress sample code for java.net.SocketAddress definition code for java.net.SocketAddress  endpoint, int timeout)
          Connects this socket to the server with a specified timeout value.
 SocketChannel sample code for java.nio.channels.SocketChannel definition code for java.nio.channels.SocketChannel getChannel sample code for java.net.Socket.getChannel() definition code for java.net.Socket.getChannel() ()
          Returns the unique SocketChannel sample code for java.nio.channels.SocketChannel definition code for java.nio.channels.SocketChannel object associated with this socket, if any.
 InetAddress sample code for java.net.InetAddress definition code for java.net.InetAddress getInetAddress sample code for java.net.Socket.getInetAddress() definition code for java.net.Socket.getInetAddress() ()
          Returns the address to which the socket is connected.
 InputStream sample code for java.io.InputStream definition code for java.io.InputStream getInputStream sample code for java.net.Socket.getInputStream() definition code for java.net.Socket.getInputStream() ()
          Returns an input stream for this socket.
 boolean getKeepAlive sample code for java.net.Socket.getKeepAlive() definition code for java.net.Socket.getKeepAlive() ()
          Tests if SO_KEEPALIVE is enabled.
 InetAddress sample code for java.net.InetAddress definition code for java.net.InetAddress getLocalAddress sample code for java.net.Socket.getLocalAddress() definition code for java.net.Socket.getLocalAddress() ()
          Gets the local address to which the socket is bound.
 int getLocalPort sample code for java.net.Socket.getLocalPort() definition code for java.net.Socket.getLocalPort() ()
          Returns the local port to which this socket is bound.
 SocketAddress sample code for java.net.SocketAddress definition code for java.net.SocketAddress getLocalSocketAddress sample code for java.net.Socket.getLocalSocketAddress() definition code for java.net.Socket.getLocalSocketAddress() ()
          Returns the address of the endpoint this socket is bound to, or null if it is not bound yet.
 boolean getOOBInline sample code for java.net.Socket.getOOBInline() definition code for java.net.Socket.getOOBInline() ()
          Tests if OOBINLINE is enabled.
 OutputStream sample code for java.io.OutputStream definition code for java.io.OutputStream getOutputStream sample code for java.net.Socket.getOutputStream() definition code for java.net.Socket.getOutputStream() ()
          Returns an output stream for this socket.
 int getPort sample code for java.net.Socket.getPort() definition code for java.net.Socket.getPort() ()
          Returns the remote port to which this socket is connected.
 int getReceiveBufferSize sample code for java.net.Socket.getReceiveBufferSize() definition code for java.net.Socket.getReceiveBufferSize() ()
          Gets the value of the SO_RCVBUF option for this Socket, that is the buffer size used by the platform for input on this Socket.
 SocketAddress sample code for java.net.SocketAddress definition code for java.net.SocketAddress getRemoteSocketAddress sample code for java.net.Socket.getRemoteSocketAddress() definition code for java.net.Socket.getRemoteSocketAddress() ()
          Returns the address of the endpoint this socket is connected to, or null if it is unconnected.
 boolean getReuseAddress sample code for java.net.Socket.getReuseAddress() definition code for java.net.Socket.getReuseAddress() ()
          Tests if SO_REUSEADDR is enabled.
 int getSendBufferSize sample code for java.net.Socket.getSendBufferSize() definition code for java.net.Socket.getSendBufferSize() ()
          Get value of the SO_SNDBUF option for this Socket, that is the buffer size used by the platform for output on this Socket.
 int getSoLinger sample code for java.net.Socket.getSoLinger() definition code for java.net.Socket.getSoLinger() ()
          Returns setting for SO_LINGER.
 int getSoTimeout sample code for java.net.Socket.getSoTimeout() definition code for java.net.Socket.getSoTimeout() ()
          Returns setting for SO_TIMEOUT.
 boolean getTcpNoDelay sample code for java.net.Socket.getTcpNoDelay() definition code for java.net.Socket.getTcpNoDelay() ()
          Tests if TCP_NODELAY is enabled.
 int getTrafficClass sample code for java.net.Socket.getTrafficClass() definition code for java.net.Socket.getTrafficClass() ()
          Gets traffic class or type-of-service in the IP header for packets sent from this Socket
 boolean isBound sample code for java.net.Socket.isBound() definition code for java.net.Socket.isBound() ()
          Returns the binding state of the socket.
 boolean isClosed sample code for java.net.Socket.isClosed() definition code for java.net.Socket.isClosed() ()
          Returns the closed state of the socket.
 boolean isConnected sample code for java.net.Socket.isConnected() definition code for java.net.Socket.isConnected() ()
          Returns the connection state of the socket.
 boolean isInputShutdown sample code for java.net.Socket.isInputShutdown() definition code for java.net.Socket.isInputShutdown() ()
          Returns whether the read-half of the socket connection is closed.
 boolean isOutputShutdown sample code for java.net.Socket.isOutputShutdown() definition code for java.net.Socket.isOutputShutdown() ()
          Returns whether the write-half of the socket connection is closed.
 void sendUrgentData sample code for java.net.Socket.sendUrgentData(int) definition code for java.net.Socket.sendUrgentData(int) (int data)
          Send one byte of urgent data on the socket.
 void setKeepAlive sample code for java.net.Socket.setKeepAlive(boolean) definition code for java.net.Socket.setKeepAlive(boolean) (boolean on)
          Enable/disable SO_KEEPALIVE.
 void setOOBInline sample code for java.net.Socket.setOOBInline(boolean) definition code for java.net.Socket.setOOBInline(boolean) (boolean on)
          Enable/disable OOBINLINE (receipt of TCP urgent data) By default, this option is disabled and TCP urgent data received on a socket is silently discarded.
 void setPerformancePreferences sample code for java.net.Socket.setPerformancePreferences(int, int, int) definition code for java.net.Socket.setPerformancePreferences(int, int, int) (int connectionTime, int latency, int bandwidth)
          Sets performance preferences for this socket.
 void setReceiveBufferSize sample code for java.net.Socket.setReceiveBufferSize(int) definition code for java.net.Socket.setReceiveBufferSize(int) (int size)
          Sets the SO_RCVBUF option to the specified value for this Socket.
 void setReuseAddress sample code for java.net.Socket.setReuseAddress(boolean) definition code for java.net.Socket.setReuseAddress(boolean) (boolean on)
          Enable/disable the SO_REUSEADDR socket option.
 void setSendBufferSize sample code for java.net.Socket.setSendBufferSize(int) definition code for java.net.Socket.setSendBufferSize(int) (int size)
          Sets the SO_SNDBUF option to the specified value for this Socket.
static void setSocketImplFactory sample code for java.net.Socket.setSocketImplFactory(java.net.SocketImplFactory) definition code for java.net.Socket.setSocketImplFactory(java.net.SocketImplFactory) (SocketImplFactory sample code for java.net.SocketImplFactory definition code for java.net.SocketImplFactory  fac)
          Sets the client socket implementation factory for the application.
 void setSoLinger sample code for java.net.Socket.setSoLinger(boolean, int) definition code for java.net.Socket.setSoLinger(boolean, int) (boolean on, int linger)
          Enable/disable SO_LINGER with the specified linger time in seconds.
 void setSoTimeout sample code for java.net.Socket.setSoTimeout(int) definition code for java.net.Socket.setSoTimeout(int) (int timeout)
          Enable/disable SO_TIMEOUT with the specified timeout, in milliseconds.
 void setTcpNoDelay sample code for java.net.Socket.setTcpNoDelay(boolean) definition code for java.net.Socket.setTcpNoDelay(boolean) (boolean on)
          Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm).
 void setTrafficClass sample code for java.net.Socket.setTrafficClass(int) definition code for java.net.Socket.setTrafficClass(int) (int tc)
          Sets traffic class or type-of-service octet in the IP header for packets sent from this Socket.
 void shutdownInput sample code for java.net.Socket.shutdownInput() definition code for java.net.Socket.shutdownInput() ()
          Places the input stream for this socket at "end of stream".
 void shutdownOutput sample code for java.net.Socket.shutdownOutput() definition code for java.net.Socket.shutdownOutput() ()
          Disables the output stream for this socket.
 String sample code for java.lang.String definition code for java.lang.String toString sample code for java.net.Socket.toString() definition code for java.net.Socket.toString() ()
          Converts this socket to a String.
 
Methods inherited from class java.lang.Object sample code for java.lang.Object definition code for java.lang.Object
clone sample code for java.lang.Object.clone() definition code for java.lang.Object.clone() , equals sample code for java.lang.Object.equals(java.lang.Object) definition code for java.lang.Object.equals(java.lang.Object) , finalize sample code for java.lang.Object.finalize() definition code for java.lang.Object.finalize() , getClass sample code for java.lang.Object.getClass() definition code for java.lang.Object.getClass() , hashCode sample code for java.lang.Object.hashCode() definition code for java.lang.Object.hashCode() , notify sample code for java.lang.Object.notify() definition code for java.lang.Object.notify() , notifyAll sample code for java.lang.Object.notifyAll() definition code for java.lang.Object.notifyAll() , wait sample code for java.lang.Object.wait() definition code for java.lang.Object.wait() , wait sample code for java.lang.Object.wait(long) definition code for java.lang.Object.wait(long) , wait sample code for java.lang.Object.wait(long, int) definition code for java.lang.Object.wait(long, int)
 

Constructor Detail

Socket sample code for java.net.Socket() definition code for java.net.Socket()

public Socket()
Creates an unconnected socket, with the system-default type of SocketImpl.

Since:
JDK1.1

Socket sample code for java.net.Socket(java.net.Proxy) definition code for java.net.Socket(java.net.Proxy)

public Socket(Proxy sample code for java.net.Proxy definition code for java.net.Proxy  proxy)
Creates an unconnected socket, specifying the type of proxy, if any, that should be used regardless of any other settings.

If there is a security manager, its checkConnect method is called with the proxy host address and port number as its arguments. This could result in a SecurityException.

Examples:

Parameters:
proxy - a Proxy sample code for java.net.Proxy definition code for java.net.Proxy object specifying what kind of proxying should be used.
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if the proxy is of an invalid type or null.
SecurityException sample code for java.lang.SecurityException definition code for java.lang.SecurityException - if a security manager is present and permission to connect to the proxy is denied.
Since:
1.5
See Also:
ProxySelector sample code for java.net.ProxySelector definition code for java.net.ProxySelector , Proxy sample code for java.net.Proxy definition code for java.net.Proxy

Socket sample code for java.net.Socket(java.net.SocketImpl) definition code for java.net.Socket(java.net.SocketImpl)

protected Socket(SocketImpl sample code for java.net.SocketImpl definition code for java.net.SocketImpl  impl)
          throws SocketException sample code for java.net.SocketException definition code for java.net.SocketException 
Creates an unconnected Socket with a user-specified SocketImpl.

Parameters:
impl - an instance of a SocketImpl the subclass wishes to use on the Socket.
Throws:
SocketException sample code for java.net.SocketException definition code for java.net.SocketException - if there is an error in the underlying protocol, such as a TCP error.
Since:
JDK1.1

Socket sample code for java.net.Socket(java.lang.String, int) definition code for java.net.Socket(java.lang.String, int)

public Socket(String sample code for java.lang.String definition code for java.lang.String  host,
              int port)
       throws UnknownHostException sample code for java.net.UnknownHostException definition code for java.net.UnknownHostException ,
              IOException sample code for java.io.IOException definition code for java.io.IOException 
Creates a stream socket and connects it to the specified port number on the named host.

If the specified host is null it is the equivalent of specifying the address as InetAddress.getByName sample code for java.net.InetAddress.getByName(java.lang.String) definition code for java.net.InetAddress.getByName(java.lang.String) (null). In other words, it is equivalent to specifying an address of the loopback interface.

If the application has specified a server socket factory, that factory's createSocketImpl method is called to create the actual socket implementation. Otherwise a "plain" socket is created.

If there is a security manager, its checkConnect method is called with the host address and port as its arguments. This could result in a SecurityException.

Parameters:
host - the host name, or null for the loopback address.
port - the port number.
Throws:
UnknownHostException sample code for java.net.UnknownHostException definition code for java.net.UnknownHostException - if the IP address of the host could not be determined.
IOException sample code for java.io.IOException definition code for java.io.IOException - if an I/O error occurs when creating the socket.
SecurityException sample code for java.lang.SecurityException definition code for java.lang.SecurityException - if a security manager exists and its checkConnect method doesn't allow the operation.
See Also:
setSocketImplFactory(java.net.SocketImplFactory) sample code for java.net.Socket.setSocketImplFactory(java.net.SocketImplFactory) definition code for java.net.Socket.setSocketImplFactory(java.net.SocketImplFactory) , SocketImpl sample code for java.net.SocketImpl definition code for java.net.SocketImpl , SocketImplFactory.createSocketImpl() sample code for java.net.SocketImplFactory.createSocketImpl() definition code for java.net.SocketImplFactory.createSocketImpl() , SecurityManager.checkConnect(java.lang.String, int) sample code for java.lang.SecurityManager.checkConnect(java.lang.String, int) definition code for java.lang.SecurityManager.checkConnect(java.lang.String, int)

Socket sample code for java.net.Socket(java.net.InetAddress, int) definition code for java.net.Socket(java.net.InetAddress, int)

public Socket(InetAddress sample code for java.net.InetAddress definition code for java.net.InetAddress  address,
              int port)
       throws IOException sample code for java.io.IOException definition code for java.io.IOException 
Creates a stream socket and connects it to the specified port number at the specified IP address.

If the application has specified a socket factory, that factory's createSocketImpl method is called to create the actual socket implementation. Otherwise a "plain" socket is created.

If there is a security manager, its checkConnect method is called with the host address and port as its arguments. This could result in a SecurityException.

Parameters:
address - the IP address.
port - the port number.
Throws:
IOException sample code for java.io.IOException definition code for java.io.IOException - if an I/O error occurs when creating the socket.
SecurityException sample code for java.lang.SecurityException definition code for java.lang.SecurityException - if a security manager exists and its checkConnect method doesn't allow the operation.
See Also:
setSocketImplFactory(java.net.SocketImplFactory) sample code for java.net.Socket.setSocketImplFactory(java.net.SocketImplFactory) definition code for java.net.Socket.setSocketImplFactory(java.net.SocketImplFactory) , SocketImpl sample code for java.net.SocketImpl definition code for java.net.SocketImpl , SocketImplFactory.createSocketImpl() sample code for java.net.SocketImplFactory.createSocketImpl() definition code for java.net.SocketImplFactory.createSocketImpl() , SecurityManager.checkConnect(java.lang.String, int) sample code for java.lang.SecurityManager.checkConnect(java.lang.String, int) definition code for java.lang.SecurityManager.checkConnect(java.lang.String, int)

Socket sample code for java.net.Socket(java.lang.String, int, java.net.InetAddress, int) definition code for java.net.Socket(java.lang.String, int, java.net.InetAddress, int)

public Socket(String sample code for java.lang.String definition code for java.lang.String  host,
              int port,
              InetAddress sample code for java.net.InetAddress definition code for java.net.InetAddress  localAddr,
              int localPort)
       throws IOException sample code for java.io.IOException definition code for java.io.IOException 
Creates a socket and connects it to the specified remote host on the specified remote port. The Socket will also bind() to the local address and port supplied.

If the specified host is null it is the equivalent of specifying the address as InetAddress.getByName sample code for java.net.InetAddress.getByName(java.lang.String) definition code for java.net.InetAddress.getByName(java.lang.String) (null). In other words, it is equivalent to specifying an address of the loopback interface.

If there is a security manager, its checkConnect method is called with the host address and port as its arguments. This could result in a SecurityException.

Parameters:
host - the name of the remote host, or null for the loopback address.
port - the remote port
localAddr - the local address the socket is bound to
localPort - the local port the socket is bound to
Throws:
IOException sample code for java.io.IOException definition code for java.io.IOException - if an I/O error occurs when creating the socket.
SecurityException sample code for java.lang.SecurityException definition code for java.lang.SecurityException - if a security manager exists and its checkConnect method doesn't allow the operation.
Since:
JDK1.1
See Also:
SecurityManager.checkConnect(java.lang.String, int) sample code for java.lang.SecurityManager.checkConnect(java.lang.String, int) definition code for java.lang.SecurityManager.checkConnect(java.lang.String, int)

Socket sample code for java.net.Socket(java.net.InetAddress, int, java.net.InetAddress, int) definition code for java.net.Socket(java.net.InetAddress, int, java.net.InetAddress, int)

public Socket(InetAddress sample code for java.net.InetAddress definition code for java.net.InetAddress  address,
              int port,
              InetAddress sample code for java.net.InetAddress definition code for java.net.InetAddress  localAddr,
              int localPort)
       throws IOException sample code for java.io.IOException definition code for java.io.IOException 
Creates a socket and connects it to the specified remote address on the specified remote port. The Socket will also bind() to the local address and port supplied.

If there is a security manager, its checkConnect method is called with the host address and port as its arguments. This could result in a SecurityException.

Parameters:
address - the remote address
port - the remote port
localAddr - the local address the socket is bound to
localPort - the local port the socket is bound to
Throws:
IOException sample code for java.io.IOException definition code for java.io.IOException - if an I/O error occurs when creating the socket.
SecurityException sample code for java.lang.SecurityException definition code for java.lang.SecurityException - if a security manager exists and its checkConnect method doesn't allow the operation.
Since:
JDK1.1
See Also:
SecurityManager.checkConnect(java.lang.String, int) sample code for java.lang.SecurityManager.checkConnect(java.lang.String, int) definition code for java.lang.SecurityManager.checkConnect(java.lang.String, int)

Socket sample code for java.net.Socket(java.lang.String, int, boolean) definition code for java.net.Socket(java.lang.String, int, boolean)

@Deprecated
public Socket(String sample code for java.lang.String definition code for java.lang.String  host,
                         int port,
                         boolean stream)
       throws IOException sample code for java.io.IOException definition code for java.io.IOException 
Deprecated. Use DatagramSocket instead for UDP transport.

Creates a stream socket and connects it to the specified port number on the named host.

If the specified host is null it is the equivalent of specifying the address as InetAddress.getByName sample code for java.net.InetAddress.getByName(java.lang.String) definition code for java.net.InetAddress.getByName(java.lang.String) (null). In other words, it is equivalent to specifying an address of the loopback interface.

If the stream argument is true, this creates a stream socket. If the stream argument is false, it creates a datagram socket.

If the application has specified a server socket factory, that factory's createSocketImpl method is called to create the actual socket implementation. Otherwise a "plain" socket is created.

If there is a security manager, its checkConnect method is called with the host address and port as its arguments. This could result in a SecurityException.

If a UDP socket is used, TCP/IP related socket options will not apply.

Parameters:
host - the host name, or null for the loopback address.
port - the port number.
stream - a boolean indicating whether this is a stream socket or a datagram socket.
Throws:
IOException sample code for java.io.IOException definition code for java.io.IOException - if an I/O error occurs when creating the socket.
SecurityException sample code for java.lang.SecurityException definition code for java.lang.SecurityException - if a security manager exists and its checkConnect method doesn't allow the operation.
See Also:
setSocketImplFactory(java.net.SocketImplFactory) sample code for java.net.Socket.setSocketImplFactory(java.net.SocketImplFactory) definition code for java.net.Socket.setSocketImplFactory(java.net.SocketImplFactory) , SocketImpl sample code for java.net.SocketImpl definition code for java.net.SocketImpl , SocketImplFactory.createSocketImpl() sample code for java.net.SocketImplFactory.createSocketImpl() definition code for java.net.SocketImplFactory.createSocketImpl() , SecurityManager.checkConnect(java.lang.String, int) sample code for java.lang.SecurityManager.checkConnect(java.lang.String, int) definition code for java.lang.SecurityManager.checkConnect(java.lang.String, int)

Socket sample code for java.net.Socket(java.net.InetAddress, int, boolean) definition code for java.net.Socket(java.net.InetAddress, int, boolean)

@Deprecated
public Socket(InetAddress sample code for java.net.InetAddress definition code for java.net.InetAddress  host,
                         int port,
                         boolean stream)
       throws IOException sample code for java.io.IOException definition code for java.io.IOException 
Deprecated. Use DatagramSocket instead for UDP transport.

Creates a socket and connects it to the specified port number at the specified IP address.

If the stream argument is true, this creates a stream socket. If the stream argument is false, it creates a datagram socket.

If the application has specified a server socket factory, that factory's createSocketImpl method is called to create the actual socket implementation. Otherwise a "plain" socket is created.

If there is a security manager, its checkConnect method is called with host.getHostAddress() and port as its arguments. This could result in a SecurityException.

If UDP socket is used, TCP/IP related socket options will not apply.

Parameters:
host - the IP address.
port - the port number.
stream - if true, create a stream socket; otherwise, create a datagram socket.
Throws:
IOException sample code for java.io.IOException definition code for java.io.IOException - if an I/O error occurs when creating the socket.
SecurityException sample code for java.lang.SecurityException definition code for java.lang.SecurityException - if a security manager exists and its checkConnect method doesn't allow the operation.
See Also:
setSocketImplFactory(java.net.SocketImplFactory) sample code for java.net.Socket.setSocketImplFactory(java.net.SocketImplFactory) definition code for java.net.Socket.setSocketImplFactory(java.net.SocketImplFactory) , SocketImpl sample code for java.net.SocketImpl definition code for java.net.SocketImpl , SocketImplFactory.createSocketImpl() sample code for java.net.SocketImplFactory.createSocketImpl() definition code for java.net.SocketImplFactory.createSocketImpl() , SecurityManager.checkConnect(java.lang.String, int) sample code for java.lang.SecurityManager.checkConnect(java.lang.String, int) definition code for java.lang.SecurityManager.checkConnect(java.lang.String, int)