DatagramSocket setReuseAddress(boolean) in Java

setReuseAddress(boolean): This method is available in the java.net.DatagramSocket class of Java.

Syntax:

void java.net.DatagramSocket.setReuseAddress(boolean on) throws SocketException

This method takes one argument. This method enables/disables the SO_REUSEADDR socket option.

Parameters: One parameter is required for this method.

on: whether to enable or disable the.

Returns: NA

Throws:

1. SocketException - if an error occurs enabling or disabling the SO_REUSEADDR socket option, or the socket is closed.

Approach

Java

package com.DatagramSocket;

import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;

public class DatagramSocketsetReuseAddress {
    public static void main(String[] args)
throws UnknownHostException, SocketException {

        int port = 100;
        InetAddress laddr = InetAddress.getLocalHost();
        DatagramSocket datagramSocket =
new DatagramSocket(port, laddr);

        boolean on = true;
        datagramSocket.setReuseAddress(on);
        System.out.println("Successfully setReuseAddress");
    }
}

Output:

Successfully setReuseAddress


Some other methods of DatagramSocket class

DatagramSocket(): This method constructs a datagram socket and binds it to any available port on the local host machine. 

DatagramSocket(int):  This method constructs a datagram socket and binds it to the specified port on the local host machine.

DatagramSocket(SocketAddress): This method creates a datagram socket, bound to the specified local socket address.

DatagramSocket(int, InetAddress): This method creates a datagram socket, bound to the specified local address.

bind(SocketAddress): This method binds this DatagramSocket to a specific address and port.

connect(SocketAddress): This method connects this socket to a remote socket address (IP address + port number).

connect(InetAddress, int): This method connects the socket to a remote address for this socket. When a socket is connected to a remote address, packets may only be sent to or received from that address.

disconnect(): This method disconnects the socket.

getBroadcast(): This method tests if SO_BROADCAST is enabled.

getChannel(): This method returns the unique java.nio.channels.DatagramChannel object associated with this datagram socket, if any.

getInetAddress(): This method returns the address to which this socket is connected. Returns null if the socket is not connected.

getLocalAddress(): This method gets the local address to which the socket is bound.

getLocalPort(): This method returns the port number on the local host to which this socket is bound.

getLocalSocketAddress(): This method returns the address of the endpoint this socket is bound to.

getOption(SocketOption): This method returns the value of a socket option.

getPort(): This method returns the port number to which this socket is connected.

getReceiveBufferSize(): This method gets the value of the SO_RCVBUF option for this DatagramSocket, which is the buffer size used by the platform for input on this DatagramSocket.

getRemoteSocketAddress(): This method returns the address of the endpoint this socket is connected to, or null if it is unconnected.

getReuseAddress(): This method tests if SO_REUSEADDR is enabled.

getSendBufferSize(): This method gets the value of the SO_SNDBUF option for this DatagramSocket, which is the buffer size used by the platform for output on this DatagramSocket.

getSoTimeout(): This method retrieves the setting for SO_TIMEOUT. 0 returns implies that the option is disabled (i.e., timeout of infinity).

getTrafficClass(): This method gets the traffic class or type-of-service in the IP datagram header for packets sent from this DatagramSocket.

isBound(): This method returns the binding state of the socket.

isClosed(): This method returns whether the socket is closed or not.

isConnected(): This method returns the connection state of the socket.

receive(DatagramPacket): This method receives a datagram packet from this socket.

send(DatagramPacket): This method sends a datagram packet from this socket.

setBroadcast(boolean): This method enables/disables SO_BROADCAST.

DatagramSocket.setDatagramSocketImplFactory(DatagramSocketImplFactory): This method sets the datagram socket implementation factory for the application.

setOption(SocketOption, String): This method sets the value of a socket option.

setReceiveBufferSize(int):  This method sets the SO_RCVBUF option to the specified value for this DatagramSocket. 

setReuseAddress(boolean): This method enables/disables the SO_REUSEADDR socket option.

setSendBufferSize(int): This method sets the SO_SNDBUF option to the specified value for this DatagramSocket.

setSoTimeout(int): This method enables/disable SO_TIMEOUT with the specified timeout, in milliseconds.

setTrafficClass(int):  This method sets the traffic class or type-of-service octet in the IP datagram header for datagrams sent from this DatagramSocket.

supportedOptions(): This method returns a set of the socket options supported by this socket. This method will continue to return the set of options even after the socket has been closed.

No comments:

Post a Comment