有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何向服务器发送ACK/NACK

下面是我编写的客户机和服务器程序。现在我不知道如何在我的程序中发送ack/nack。 我在stackoverflow上看到了一些答案,但我仍然感到困惑。您能给出一个使用java的TCP协议中的ACK/NACK示例吗

客户端

public class Client {

public static void main(String args[]) {

    try {
        Socket client = new Socket("localhost", 2222);
        PrintWriter pw = new PrintWriter(client.getOutputStream(), true);
        Scanner input = new Scanner(System.in);
        boolean a = true;
        while (a) {

            //receving
            BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
            System.out.println(br.readLine());
            if (input.equals("q")) {
                a = false;
                client.close();
            }

            pw.println("Client0: " + input.nextLine());
            System.out.println(pw);
            // System.out.println("Request sent successfully");


        }
    } catch (Exception ex) {
        System.out.println(ex);
    }
}

}

服务器

public class Server {

    public static void main(String args[]) {

        try {

            ServerSocket ss = new ServerSocket(2222);
            System.out.println("Waiting for client request");
            Socket client = ss.accept();
            System.out.println("Accepted connection request");
            Scanner input = new Scanner(System.in);
            while (true) {

                // receving
                InputStreamReader isr = new InputStreamReader(client.getInputStream());
                BufferedReader br = new BufferedReader(isr);
                String str = br.readLine();

                // sending
                PrintStream ps = new PrintStream(client.getOutputStream());
                ps.println("Server1: " + input.nextLine());
                System.out.println(ps);

            }
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

多谢各位


共 (0) 个答案