31 lines
833 B
Java
31 lines
833 B
Java
package network;
|
|
|
|
import java.io.ByteArrayOutputStream;
|
|
import java.io.IOException;
|
|
import java.io.ObjectOutputStream;
|
|
import java.net.DatagramPacket;
|
|
import java.net.DatagramSocket;
|
|
import java.net.InetSocketAddress;
|
|
|
|
import network.protocol.Packet;
|
|
|
|
public class SocketWriter {
|
|
|
|
private final DatagramSocket socket;
|
|
|
|
public SocketWriter(DatagramSocket socket) {
|
|
this.socket = socket;
|
|
}
|
|
|
|
public void sendPacket(Packet packet, InetSocketAddress address) throws IOException {
|
|
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
|
ObjectOutputStream oos = new ObjectOutputStream(stream);
|
|
oos.writeObject(packet);
|
|
oos.flush();
|
|
byte[] data = stream.toByteArray();
|
|
DatagramPacket dataPacket = new DatagramPacket(data, data.length, address.getAddress(),
|
|
address.getPort());
|
|
this.socket.send(dataPacket);
|
|
}
|
|
}
|