DatagramSocket.setDatagramSocketImplFactory(DatagramSocketImplFactory): This method is available in the java.net.DatagramSocket class of Java.
Syntax:
void java.net.DatagramSocket.setDatagramSocketImplFactory( DatagramSocketImplFactory fac) throws IOException
This method takes one argument. This method sets the datagram socket implementation factory for the application. The factory can be specified only once.
When an application creates a new datagram socket, the socket implementation factory's createDatagramSocketImpl method is called to create the actual datagram socket implementation.
Parameters: One parameter is required for this method.
fac: the desired factory.
Returns: NA
Throws:
1. IOException - if an I/O error occurs when setting the datagram socket factory.
2. SocketException - if the factory is already defined.
3. SecurityException - if a security manager exists and its checkSetFactory method doesn't allow the operation.
Approach
Java
package com.DatagramSocket;import java.io.IOException;import java.net.DatagramSocket;import java.net.DatagramSocketImpl;import java.net.DatagramSocketImplFactory;import java.net.InetAddress;public class DatagramSocketsetDatagramSocketImplFactory {public static void main(String[] args) throws IOException {int port = 100;InetAddress laddr = InetAddress.getLocalHost();DatagramSocket datagramSocket =new DatagramSocket(port, laddr);DatagramSocketImplFactory fac =new DatagramSocketImplFactory() {@Overridepublic DatagramSocketImpl createDatagramSocketImpl() {return null;}};DatagramSocket.setDatagramSocketImplFactory(fac);System.out.println("Successfully setDatagramSocketImplFactory");}}
Output:
Successfully setDatagramSocketImplFactory
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