DatagramSocket(SocketAddress): This method is available in the java.net.DatagramSocket class of Java.
Syntax:
java.net.DatagramSocket.DatagramSocket(SocketAddress bindaddr) throws SocketException
This method takes one argument. This method creates a datagram socket, bound to the specified local socket address.
If the address is null an unbound socket will be created.
If there is a security manager, its checkListen method is first called with the port from the socket address as its argument to ensure the operation is allowed. This could result in a SecurityException.
Parameters: One parameter is required for this method.
bindaddr: local socket address to bind, or null for an unbound socket.
Throws:
1. SocketException - if the socket could not be opened, or the socket could not bind to the specified local port.
2. SecurityException - if a security manager exists and its checkListen method doesn't allow the operation.
3. IllegalArgumentException - if bindaddr is a socket address subclass not supported by this socket.
Approach 1: When no exception
Java
package com.DatagramSocket;import java.net.DatagramSocket;import java.net.InetSocketAddress;import java.net.SocketAddress;import java.net.SocketException;public class DatagramSocket3 {public static void main(String[] args)throws SocketException {SocketAddress bindaddr = new InetSocketAddress(100);DatagramSocket datagramSocket =new DatagramSocket(bindaddr);System.out.println(datagramSocket);}}
Output:
java.net.DatagramSocket@63d4e2ba
Approach 2: IllegalArgumentException
Java
package com.DatagramSocket;import java.net.DatagramSocket;import java.net.InetSocketAddress;import java.net.SocketAddress;import java.net.SocketException;public class DatagramSocket3 {public static void main(String[] args)throws SocketException {SocketAddress bindaddr = new InetSocketAddress(1099990);DatagramSocket datagramSocket =new DatagramSocket(bindaddr);System.out.println(datagramSocket);}}
Output:
Exception in thread "main" java.lang.IllegalArgumentException: port out of range:1099990 at java.base/java.net.InetSocketAddress.checkPort(InetSocketAddress.java:153) at java.base/java.net.InetSocketAddress.<init>(InetSocketAddress.java:198) at java.base/java.net.InetSocketAddress.<init>(InetSocketAddress.java:176) at com.DatagramSocket.DatagramSocket3.main(DatagramSocket3.java:11)
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