[go: up one dir, main page]

0% found this document useful (0 votes)
41 views5 pages

TCP Chat Application

The document describes a TCP and UDP chat application using Java sockets. It includes the code for TCP and UDP client and server classes to establish connections and exchange messages between clients and servers.

Uploaded by

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

TCP Chat Application

The document describes a TCP and UDP chat application using Java sockets. It includes the code for TCP and UDP client and server classes to establish connections and exchange messages between clients and servers.

Uploaded by

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

TCP CHAT APPLICATION

NAME: SATHIYA A K
ROLL NO: 21CS149

CODE:

FILE: TCPClient.java

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

public class TCPClient {


public static void main(String[] args) {
String serverAddress = "localhost"; // Server's IP address or hostname
int serverPort = 8080; // Port number the server is listening on

try {
// Create a socket to connect to the server
Socket socket = new Socket(serverAddress, serverPort);

// Set up input and output streams for communication


BufferedReader in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);

// Send a message to the server


out.println("Hello, Server!");

// Receive and print the response from the server


String serverResponse = in.readLine();
System.out.println("Received from server: " + serverResponse);

// Close the socket and streams


in.close();
out.close();
socket.close();

} catch (IOException e) {
e.printStackTrace();
}
}
}
FILE:TCPServer.java

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

public class TCPServer {


public static void main(String[] args) {
int port = 8080; // Port number to listen on
try {
// Create a server socket
ServerSocket serverSocket = new ServerSocket(port);
System.out.println("Server is listening on port " + port);

// Wait for a client to connect


Socket clientSocket = serverSocket.accept();
System.out.println("Client connected from " +
clientSocket.getInetAddress().getHostAddress());

// Set up input and output streams for communication


BufferedReader in = new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(),
true);

// Read data from the client


String clientMessage = in.readLine();
System.out.println("Received from client: " + clientMessage);

String responseMessage = "Hello, Client!"; // Change this message


as needed

// Send a reply back to the client


out.println(responseMessage);
System.out.println("Sent to client: " + responseMessage);

// Close the sockets and streams


in.close();
out.close();
clientSocket.close();
serverSocket.close();

} catch (IOException e) {
e.printStackTrace();
}
}
}
OUTPUT:

UDP CHAT APPLICATION


CODE:
import java.io.*;
import java.net.*;

public class UDPClient {


public static void main(String[] args) {
DatagramSocket clientSocket = null;
try {
// Create a UDP socket
clientSocket = new DatagramSocket();
InetAddress serverAddress = InetAddress.getByName("127.0.0.1");
int serverPort = 9876;
BufferedReader userInput = new BufferedReader(new
InputStreamReader(System.in));

while (true) {
System.out.print("Enter a message to send to the server (or
'exit' to quit): ");
String message = userInput.readLine();

if (message.equals("exit")) {
break;
}

byte[] sendData = message.getBytes();


DatagramPacket sendPacket = new DatagramPacket(sendData,
sendData.length, serverAddress, serverPort);
clientSocket.send(sendPacket);

byte[] receiveData = new byte[1024];


DatagramPacket receivePacket = new DatagramPacket(receiveData,
receiveData.length);
clientSocket.receive(receivePacket);
String serverReply = new String(receivePacket.getData(), 0,
receivePacket.getLength());
System.out.println("Received from server: " + serverReply);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (clientSocket != null && !clientSocket.isClosed()) {
clientSocket.close();
}
}
}
}
import java.io.*;
import java.net.*;

public class UDPServer {


public static void main(String[] args) {
DatagramSocket serverSocket = null;
try {
// Create a UDP socket
serverSocket = new DatagramSocket(9876);
byte[] receiveData = new byte[1024];
System.out.println("Server is waiting for data...");
while (true) {
DatagramPacket receivePacket = new DatagramPacket(receiveData,
receiveData.length);
serverSocket.receive(receivePacket);
String clientMessage = new String(receivePacket.getData(), 0,
receivePacket.getLength());
InetAddress clientAddress = receivePacket.getAddress();
int clientPort = receivePacket.getPort();

System.out.println("Received from client at " + clientAddress


+ ":" + clientPort + ": " + clientMessage);

// Process the received data (you can add your logic here)

// Send a reply back to the client


String serverReply = "Hello from the server!";
byte[] sendData = serverReply.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData,
sendData.length, clientAddress, clientPort);
serverSocket.send(sendPacket);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (serverSocket != null && !serverSocket.isClosed()) {
serverSocket.close();
}
}
}
}

OUTPUT:

You might also like