forked from examplehub/Java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUDPServer.java
More file actions
29 lines (26 loc) · 1.08 KB
/
UDPServer.java
File metadata and controls
29 lines (26 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.examplehub.basics.network;
import com.examplehub.strings.ReverseString;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.nio.charset.StandardCharsets;
public class UDPServer {
public static void main(String[] args) throws IOException {
int port = 6666;
try (DatagramSocket datagramSocket = new DatagramSocket(port)) {
System.out.println("server started! listen on: " + port);
byte[] buffer = new byte[1024];
DatagramPacket datagramPacket = new DatagramPacket(buffer, buffer.length);
datagramSocket.receive(datagramPacket);
System.out.println("[client]: " + new String(buffer, 0, datagramPacket.getLength()));
byte[] bytes =
ReverseString.reverse(new String(buffer, 0, datagramPacket.getLength()))
.getBytes(StandardCharsets.UTF_8);
System.out.println(new String(bytes));
DatagramPacket dp =
new DatagramPacket(
bytes, bytes.length, datagramPacket.getAddress(), datagramPacket.getPort());
datagramSocket.send(dp);
}
}
}