61FIT3NPR - W08 Tut UDP Socket New
61FIT3NPR - W08 Tut UDP Socket New
61FIT3NPR - W08 Tut UDP Socket New
HANOI UNIVERSITY
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
class UDPEchoServer {
public static void main(String args[]) throws Exception {
int port = 9876;
DatagramSocket serverSocket = new DatagramSocket(port);
System.out.println("Server is running...");
//byte[] receiveData = new byte[1024];
//byte[] sendData = new byte[1024];
while(true) {
byte[] receiveData = new byte[1024];
byte[] sendData = new byte[1024];
//Tạo 1 gói dữ liệu sẵn sàng nhận dữ liệu(2)(đầu vào là
biến lưu dữ liệu dạng byte trống & chiều dài)
DatagramPacket receivePacket = new DatagramPacket (receiveData,
receiveData.length);
//sau khi chạy dòng này, sẽ chặn thực thi cho đến khi nhận
được 1 gói packet gửi xuống -> receivePacket != null -> run
serverSocket.receive(receivePacket);
//Nhận message của client trong gói giữ liệu bằng
method .getData()
String sentence = new String(receivePacket.getData());
sentence = sentence.trim();
System.out.println("Message from client: "+sentence);
}
}
}
import java.io.*;
import java.net.*;
while(true) {
byte[] sendData = new byte[1024];
byte[] receiveData = new byte[1024];
System.out.print("Please enter your message: ");
String sentence = inFromUser.readLine();
System.out.println();
sendData = sentence.getBytes();
DatagramPacket sendPacket = new DatagramPacket (sendData,
sendData.length, IPAddress, port);
clientSocket.send(sendPacket);
//clientSocket.close();
}
}
}
2. Exercise 2:
Redo exercise 1 of this tutorial but:
- Client: instead of sending a string to server, client requires user to
enter one real number R and sends it to server, then receives a cube
value of that real number (R3).
- Server: server receives a real number R from client, calculates cube
value of that number (R3) and sends back to client.