[go: up one dir, main page]

0% found this document useful (0 votes)
14 views4 pages

CN Lab 5

Uploaded by

Aadesh Lawande
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views4 pages

CN Lab 5

Uploaded by

Aadesh Lawande
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

LAB ASSIGNMENT - 5

Problem Statement : Socket Programming using C/C++/Java.


a. TCP Client, TCP Server
b. UDP Client, UDP Serve

Code-

TCPServer.java:

import java.io.*;
import java.net.*;

public class TCPServer {


public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(6789);
System.out.println(
"Server is running and waiting for client connection..."
);
Socket connectionSocket = serverSocket.accept();
System.out.println("Client connected!");

BufferedReader inFromClient = new BufferedReader(


new InputStreamReader(connectionSocket.getInputStream())
);
DataOutputStream outToClient = new DataOutputStream(
connectionSocket.getOutputStream()
);
String clientMessage = inFromClient.readLine();
System.out.println("Received from client: " + cl ientMessage);
// Convert message to uppercase
String serverMessage = clientMessage.toUpperCase() + "\n";
// Send modified message to client
outToClient.writeBytes(serverMessage);

connectionSocket.close(); // Close the connection


serverSocket.close(); // Close the server socket
}
}
TCPClient.java:

import java.io.*;
import java.net.*;

public class TCPClient {


public static void main(String[] args) throws IOException {
String sentence;
String modifiedSentence;
// Input from user
BufferedReader userInput = new BufferedReader(
new InputStreamReader(System.in)
);
// Connect to server running on localhost and port 6789
Socket clientSocket = new Socket("localhost", 6789);

DataOutputStream outToServer = new DataOutputStream(


clientSocket.getOutputStream()
);
BufferedReader inFromServer = new BufferedReader(
new InputStreamReader(clientSocket.getInputStream())
);
System.out.print("Enter message: ");
sentence = userInput.readLine(); // Read input from the user
// Send input to server
outToServer.writeBytes(sentence + "\n");
// Read response from server
modifiedSentence = inFromServer.readLine();
System.out.println("Received from server: " + modifiedSentence);
clientSocket.close(); // Close the connection
}
}

Output-
UDPServer.java:

import java.net.*;

public class UDPServer {


public static void main(String[] args) throws Exception {
// Server listens on port 9876
DatagramSocket serverSocket = new DatagramSocket(9876);
byte[] receiveData = new byte[1024];
byte[] sendData;

System.out.println(
"Server is running and waiting for client message..."
);
while (true) {
DatagramPacket receivePacket = new DatagramPacket(
receiveData, receiveData.length
);
// Receive packet from client
serverSocket.receive(receivePacket);

String clientMessage = new String(


receivePacket.getData(), 0, receivePacket.getLength()
);
System.out.println("Received from client: " + clientMessage);
// Get client's IP address
InetAddress clientIPAddress = receivePacket.getAddress();
// Get client's port
int clientPort = receivePacket.getPort();
// Convert message to uppercase
String serverMessage = clientMessage.toUpperCase();
sendData = serverMessage.getBytes();

DatagramPacket sendPacket = new DatagramPacket(


sendData, sendData.length, clientIPAddress, clientPort
);
serverSocket.send(sendPacket); // Send response to client
}
}
}
UDPClient.java:

import java.io.*;
import java.net.*;

public class UDPClient {


public static void main(String[] args) throws Exception {
BufferedReader userInput = new BufferedReader(
new InputStreamReader(System.in));
DatagramSocket clientSocket = new DatagramSocket();
// Server running on localhost
InetAddress serverIPAddress = InetAddress.getByName("localhost");
byte[] sendData;
byte[] receiveData = new byte[1024];
System.out.print("Enter message: ");
String sentence = userInput.readLine(); // Read input from user
sendData = sentence.getBytes(); // Convert to bytes
DatagramPacket sendPacket = new DatagramPacket(
sendData, sendData.length, serverIPAddress, 9876);
clientSocket.send(sendPacket); // Send packet to server
DatagramPacket receivePacket = new DatagramPacket(
receiveData, receiveData.length);
clientSocket.receive(receivePacket); // Receive packet from server
String serverMessage = new String(
receivePacket.getData(), 0, receivePacket.getLength());
System.out.println("Received from server: " + serverMessage);
clientSocket.close(); // Close the connection
}
}

Output-

You might also like