UDPunicast

This commit is contained in:
basti 2020-11-26 10:17:50 +01:00
parent 07af16987f
commit 7214ce5563
3 changed files with 28 additions and 7 deletions

View file

@ -0,0 +1,17 @@
package nom;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class MainUDP {
public static void main(String[] args) {
int port = 7001;
UdpUnicastServer server = new UdpUnicastServer(port, "LocalHost");
UdpUnicastClient client = new UdpUnicastClient(port);
ExecutorService executorService = Executors.newFixedThreadPool(2);
executorService.submit(client);
executorService.submit(server);
}
}

View file

@ -3,9 +3,8 @@ package nom;
import java.io.IOException; import java.io.IOException;
import java.net.DatagramPacket; import java.net.DatagramPacket;
import java.net.DatagramSocket; import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException; import java.net.SocketException;
import java.net.UnknownHostException;
public class UdpUnicastClient implements Runnable{ public class UdpUnicastClient implements Runnable{
@ -20,14 +19,19 @@ public class UdpUnicastClient implements Runnable{
public void run() { public void run() {
try(DatagramSocket clientSocket = new DatagramSocket(7000)){ try(DatagramSocket clientSocket = new DatagramSocket(7000)){
byte[] buffer = new byte[65507]; byte[] buffer = new byte[65507];
clientSocket.setSoTimeout(3000); //clientSocket.setSoTimeout(3000);
while (true) {
DatagramPacket datagramPacket = new DatagramPacket(buffer, 0, buffer.length);
clientSocket.receive(datagramPacket);
String receivedMessage = new String(datagramPacket.getData());
System.out.println(receivedMessage);
}
} catch (SocketException e) { } catch (SocketException e) {
e.printStackTrace(); e.printStackTrace();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); System.out.println("Timedout. CLient is closing.");
} }
} }

View file

@ -21,7 +21,7 @@ public class UdpUnicastServer implements Runnable{
public void run() { public void run() {
try(DatagramSocket serverSocket = new DatagramSocket(7000)){ try(DatagramSocket serverSocket = new DatagramSocket(7000)){
for (int i = 0; i<3; i++) { //à remplacer par un while plus tard ? for (int i = 0; i<3; i++) {
String message = "Message number " + i; String message = "Message number " + i;
DatagramPacket datagramPacket = new DatagramPacket( DatagramPacket datagramPacket = new DatagramPacket(
message.getBytes(), message.getBytes(),