-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDS.java
More file actions
50 lines (44 loc) · 1.72 KB
/
DS.java
File metadata and controls
50 lines (44 loc) · 1.72 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import java.io.*;
import java.net.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DS {
public static void main(String[] args) {
try {
while (true) {
DatagramSocket socket = new DatagramSocket(9876);
System.out.println("Server running");
byte[] receiveData = new byte[1024];
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
socket.receive(receivePacket);
BufferedReader buffer = new BufferedReader(new FileReader("data.txt"));
String line;
String message;
InetAddress clientAddress = receivePacket.getAddress();
int clientPort = receivePacket.getPort();
System.err.println(clientAddress + ":" + clientPort);
while ((line = buffer.readLine()) != null) {
String dateTime = new SimpleDateFormat("HH:mm:ss").format(new Date());
message = dateTime + line;
System.out.println(message);
byte[] sendData = message.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, clientAddress,
clientPort);
socket.send(sendPacket);
receivePacket = new DatagramPacket(receiveData, receiveData.length);
socket.receive(receivePacket);
}
message = "end";
byte[] sendData = message.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length,
clientAddress,
clientPort);
socket.send(sendPacket);
System.out.println("Socket disconnected");
socket.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}