1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 package org.apache.commons.net; 19 20 import java.net.DatagramSocket; 21 import java.net.InetAddress; 22 import java.net.SocketException; 23 24 /** 25 * Implements the DatagramSocketFactory interface by simply wrapping the {@link DatagramSocket} constructors. It is the default DatagramSocketFactory used by 26 * {@link org.apache.commons.net.DatagramSocketClient} implementations. 27 * 28 * @see DatagramSocketFactory 29 * @see DatagramSocketClient 30 * @see DatagramSocketClient#setDatagramSocketFactory 31 */ 32 33 public class DefaultDatagramSocketFactory implements DatagramSocketFactory { 34 35 /** 36 * Creates a DatagramSocket on the local host at the first available port. 37 * 38 * @return a new DatagramSocket 39 * @throws SocketException If the socket could not be created. 40 */ 41 @Override 42 public DatagramSocket createDatagramSocket() throws SocketException { 43 return new DatagramSocket(); 44 } 45 46 /** 47 * Creates a DatagramSocket on the local host at a specified port. 48 * 49 * @param port The port to use for the socket. 50 * @return a new DatagramSocket 51 * @throws SocketException If the socket could not be created. 52 */ 53 @Override 54 public DatagramSocket createDatagramSocket(final int port) throws SocketException { 55 return new DatagramSocket(port); 56 } 57 58 /** 59 * Creates a DatagramSocket at the specified address on the local host at a specified port. 60 * 61 * @param port The port to use for the socket. 62 * @param localAddress The local address to use. 63 * @return a new DatagramSocket 64 * @throws SocketException If the socket could not be created. 65 */ 66 @Override 67 public DatagramSocket createDatagramSocket(final int port, final InetAddress localAddress) throws SocketException { 68 return new DatagramSocket(port, localAddress); 69 } 70 }