package Communication.Messages.UDP;
import Communication.Messages.Service.MessageService;
import java.net.DatagramSocket;
public class UDPMessageService extends MessageService
{
private final DatagramSocket sock;
public UDPMessageService(int port)
{
try
{
this.sock = new DatagramSocket(port);
}
catch (Exception e)
{
throw new RuntimeException(e);
}
}
@Override
protected ReceivingDatagramThread startReceiver()
{
ReceivingDatagramThread receivingThread = new ReceivingDatagramThread(this.sock);
receivingThread.start();
return receivingThread;
}
@Override
protected SendingDatagramThread startSender()
{
SendingDatagramThread sendingThread = new SendingDatagramThread(this.sock);
sendingThread.start();
return sendingThread;
}
@Override
protected void finalize() throws Throwable
{
if (!this.sock.isClosed())
{
this.sock.close();
}
super.finalize();
}
}