Skip to content
Snippets Groups Projects
Commit c4ffc0c3 authored by Timberlake, James (Jack) (LT)'s avatar Timberlake, James (Jack) (LT)
Browse files

Client+Server UDP Examples

parent 9c99e749
No related branches found
No related tags found
No related merge requests found
package MV3500Cohort2024JulySeptember.homework1.Timberlake;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
/**
*
* @author Jack
*/
public class Client {
public static void main(String[] args) {
DatagramSocket socket = null;
try {
// Create a socket to communicate with the server
socket = new DatagramSocket();
InetAddress serverAddress = InetAddress.getByName("localhost"); // Server address (localhost for testing)
byte[] sendData = new byte[1024]; // Buffer to store data to send
byte[] receiveData = new byte[1024]; // Buffer to store received data
// Send message to server
String message = "Hello from client!"; // Message to send
sendData = message.getBytes(); // Convert message to bytes
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, serverAddress, 9876);
socket.send(sendPacket); // Send packet to server
// Receive response from server
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
socket.receive(receivePacket); // Blocking call until a packet is received
String responseMessage = new String(receivePacket.getData(), 0, receivePacket.getLength());
System.out.println("Client Received: " + responseMessage); // Print received response
} catch (Exception e) {
e.printStackTrace(); // Print any exceptions that occur
} finally {
if (socket != null && !socket.isClosed()) {
socket.close(); // Close the socket to release resources
}
}
}
}
package MV3500Cohort2024JulySeptember.homework1.Timberlake;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
/**
*
* @author Jack
*/
public class Server {
public static void main(String[] args) {
DatagramSocket socket = null;
try {
// Create a socket to listen on port 9876
socket = new DatagramSocket(9876);
byte[] receiveData = new byte[1024]; // Buffer to store incoming data
byte[] sendData = new byte[1024]; // Buffer to store outgoing data
while (true) {
// Receive packet from client
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
socket.receive(receivePacket); // Blocking call until a packet is received
String message = new String(receivePacket.getData(), 0, receivePacket.getLength());
System.out.println("Server Received: " + message); // Print received message
// Prepare response to client
InetAddress clientAddress = receivePacket.getAddress(); // Get client's address
int clientPort = receivePacket.getPort(); // Get client's port
String responseMessage = "Hello from server!"; // Response message
sendData = responseMessage.getBytes(); // Convert response message to bytes
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, clientAddress, clientPort);
socket.send(sendPacket); // Send response packet to client
}
} catch (Exception e) {
e.printStackTrace(); // Print any exceptions that occur
} finally {
if (socket != null && !socket.isClosed()) {
socket.close(); // Close the socket to release resources
}
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment