0% found this document useful (0 votes)
16 views6 pages

Programmign Assignment Unit 6

Uploaded by

saadafriditv
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)
16 views6 pages

Programmign Assignment Unit 6

Uploaded by

saadafriditv
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/ 6

1

Programming Assignment Unit 7

University of People
2

SIMPLE CHAT SYSTEM:

ChatServer.java:

import java.io.*;

import java.net.*;

import java.util.*;

public class ChatServer {

private static final int PORT = 12345;

private static Set<PrintWriter> clientWriters = new HashSet<>();

public static void main(String[] args) {

System.out.println("Chat server started...");

try (ServerSocket serverSocket = new ServerSocket(PORT)) {

while (true) {

new ClientHandler(serverSocket.accept()).start();

} catch (IOException e) {

e.printStackTrace();

private static class ClientHandler extends Thread {


3

private Socket socket;

private PrintWriter out;

private BufferedReader in;

public ClientHandler(Socket socket) {

this.socket = socket;

public void run() {

try {

in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

out = new PrintWriter(socket.getOutputStream(), true);

synchronized (clientWriters) {

clientWriters.add(out);

String message;

while ((message = in.readLine()) != null) {

System.out.println("Received: " + message);

synchronized (clientWriters) {

for (PrintWriter writer : clientWriters) {

writer.println(message);

}
4

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

socket.close();

} catch (IOException e) {

e.printStackTrace();

synchronized (clientWriters) {

clientWriters.remove(out);

ChatClient.java:

import java.io.*;

import java.net.*;
5

public class ChatClient {

private static final String SERVER_ADDRESS = "localhost";

private static final int SERVER_PORT = 12345;

public static void main(String[] args) {

try (Socket socket = new Socket(SERVER_ADDRESS, SERVER_PORT);

BufferedReader userInput = new BufferedReader(new


InputStreamReader(System.in));

PrintWriter out = new PrintWriter(socket.getOutputStream(), true);

BufferedReader in = new BufferedReader(new


InputStreamReader(socket.getInputStream()))) {

System.out.println("Connected to chat server.");

// Thread to read messages from server

new Thread(() -> {

try {

String message;

while ((message = in.readLine()) != null) {

System.out.println("Server: " + message);

} catch (IOException e) {
6

e.printStackTrace();

}).start();

// Read user input and send to server

String userMessage;

while ((userMessage = userInput.readLine()) != null) {

out.println(userMessage);

} catch (IOException e) {

e.printStackTrace();

You might also like