JustPaste
HomeCategoriesAboutDonateContactTerms of UsePrivacy Policy
JustPaste

Free online notepad — write and share instantly

Navigate

  • Home
  • Timeline
  • Categories

Info

  • About
  • Donate
  • Contact

Legal

  • Terms of Use
  • Privacy Policy

© 2026 JustPaste.app. All rights reserved.

Made with ♥ by JustPaste

Untitled Page | JustPaste.app
13 days ago2 views
👨‍💻Programming
import java.io.*;
import java.net.*;
public class clientch {
    static int find_checksum(String msg) {
        int sum = 0;
        for (int i = 0; i < msg.length(); i++) {
            sum += msg.charAt(i);
        }
        return sum % 256;
    }
    public static void main(String args[]) throws Exception {
        Socket s = new Socket("localhost", 5000);
        System.out.println("**** Connected to Server *****");
        BufferedReader in = new BufferedReader(
            new InputStreamReader(s.getInputStream())
        );
        PrintWriter out = new PrintWriter(
            s.getOutputStream(), true
        );
        BufferedReader br = new BufferedReader(
            new InputStreamReader(System.in)
        );
        while (true) {
            System.out.print("Enter message: [type exit to stop] ");
            String msg = br.readLine();
            if (msg.equalsIgnoreCase("exit")) {
                out.println("exit");
                break;
            }
            int checksum = find_checksum(msg);
            System.out.println("Checksum: " + checksum);
            System.out.println("\n1. Normal");
            System.out.println("2. Message with error");
            System.out.println("3. Checksum error");
            System.out.println("4. Both error");
            System.out.print("Choose case: ");
            int choice = Integer.parseInt(br.readLine());
            switch (choice) {
                case 1:
                    break;
                case 2:
                    msg = msg + "X";
                    break;
                case 3:
                    checksum = checksum + 10;
                    break;
                case 4:
                    msg = msg + "X";
                    checksum = checksum + 10;
                    break;
                default:
                    System.out.println("Invalid choice");
                    continue;
            }
            out.println(msg);
            out.println(checksum);
            String response = in.readLine();
            System.out.println("Server: " + response);
        }
        br.close();
        in.close();
        out.close();
        s.close();
    }
}

import java.io.*;
import java.net.*;
public class serverch {
    static int find_checksum(String msg) {
        int sum = 0;
        for (int i = 0; i < msg.length(); i++) {
            sum += msg.charAt(i);
        }
        return sum % 256;
    }
    public static void main(String args[]) throws Exception {
        ServerSocket ss = new ServerSocket(5000);
        System.out.println("**** Server Started *****");
        System.out.println("**** Waiting for client *****");
        Socket s = ss.accept();
        System.out.println("**** Client Connected *****");
        BufferedReader in = new BufferedReader(
            new InputStreamReader(s.getInputStream())
        );
        PrintWriter out = new PrintWriter(
            s.getOutputStream(), true
        );
        while (true) {
            String msg = in.readLine();
            if (msg == null || msg.equalsIgnoreCase("exit")) {
                System.out.println("Exit & Client Disconnected");
                break;
            }
            int rec_Checksum = Integer.parseInt(in.readLine());
            int calc_Checksum = find_checksum(msg);
            System.out.println("Received Message: " + msg);
            System.out.println("Received Checksum: " + rec_Checksum);
            System.out.println("Calculated Checksum: " + calc_Checksum);
            if (rec_Checksum == calc_Checksum) {
                System.out.println("status : no error ,Transmission success,Sending ACK");
                out.println("ACK");
            } else {
                System.out.println("status : error ,Sending NACK");
                out.println("NACK");
            }
			 System.out.println("-------------------------------------------------------------------------------------------");
        }
        s.close();
        ss.close();
    }
}
← Back to timeline