Establish a UDP Server - nsiatras/extasys GitHub Wiki

The following class is a ready to to run UDP Server. For better understanding take a look at Extasys Examples


import Extasys.Encryption.Base64Encryptor;
import Extasys.Network.UDP.Server.Listener.UDPListener;
import java.net.DatagramPacket;
import java.net.InetAddress;

/**
 *
 * @author Nikos Siatras
 */
public class UDPServer extends Extasys.Network.UDP.Server.ExtasysUDPServer
{

    public UDPServer(String name, String description, InetAddress listenerIP, int port, int connectionsTimeOut, int corePoolSize, int maximumPoolSize)
    {
        super(name, description, corePoolSize, maximumPoolSize);
        UDPListener listener = this.AddListener("My UDP Listener", listenerIP, port, 10240, connectionsTimeOut);

        // Uncomment the following line to set Encryption for this UDPListener
        //listener.setConnectionEncryptor(new Base64Encryptor());
    }

    @Override
    public void OnDataReceive(UDPListener listener, DatagramPacket packet)
    {
        System.out.println("Data received from " + packet.getAddress().toString() + ": " + new String(packet.getData()));

        try
        {
            // Send data back to the sender.
            listener.SendData(new DatagramPacket(packet.getData(), 0, packet.getLength(), packet.getAddress(), packet.getPort()));
        }
        catch (Exception ex)
        {
        }
    }
}