Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Melaksanakan Komunikasi Soket dalam Applet Swing?

Bagaimanakah Saya Boleh Melaksanakan Komunikasi Soket dalam Applet Swing?

Barbara Streisand
Barbara Streisandasal
2024-12-27 17:25:14724semak imbas

How Can I Implement Socket Communication within a Swing Applet?

Komunikasi Soket dalam Applet Swing

Di Java, Swing ialah perpustakaan yang berkuasa untuk mencipta antara muka pengguna grafik (GUI). Salah satu daripada banyak keupayaannya ialah keupayaan untuk mewujudkan sambungan soket, membolehkan komunikasi antara aplikasi klien dan pelayan. Artikel ini menangani cabaran untuk melaksanakan sambungan soket sedemikian dalam applet Swing.

Pelaksanaan Pelayan dan Pelanggan

Untuk mewujudkan sambungan soket, dua komponen diperlukan: a pelayan dan pelanggan. Begini cara untuk melaksanakan kedua-duanya dalam Java menggunakan Swing:

Pelayan:

  1. Buat ServerSocket pada port tertentu.
  2. Gunakan accept( ) untuk menunggu sambungan pelanggan masuk.
  3. Setelah sambungan diwujudkan, baca data daripada klien menggunakan InputStream.
  4. Hantar data kepada pelanggan menggunakan OutputStream.

Pelanggan:

  1. Buat Soket untuk menyambung ke pelayan pada hos dan port tertentu.
  2. Gunakan OutputStream untuk menghantar data ke pelayan.
  3. Gunakan InputStream untuk membaca data daripada pelayan.

Menyatukan Semuanya

Contoh di bawah menyediakan pelaksanaan mudah pasangan pelanggan-pelayan menggunakan Swing:

public class Echo {

    private String host;
    private int port;
    private JTextArea ta;

    public Echo(String host, int port, JTextArea ta) {
        this.host = host;
        this.port = port;
        this.ta = ta;
    }

    public void start() {
        Thread thread = new Thread() {
            @Override
            public void run() {
                try {
                    Socket socket = new Socket(host, port);
                    PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
                    Scanner in = new Scanner(socket.getInputStream());

                    while (true) {
                        String message = in.nextLine();
                        ta.append(message + "\n");
                    }
                } catch (Exception e) {
                    ta.append(e.getMessage() + "\n");
                }
            }
        };

        thread.start();
    }

    public void send(String message) {
        try {
            Socket socket = new Socket(host, port);
            PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
            out.println(message);
            socket.close();
        } catch (Exception e) {
            ta.append(e.getMessage() + "\n");
        }
    }
}

Kesimpulan

Contoh ini menunjukkan cara untuk mewujudkan dan menggunakan sambungan soket dalam applet Swing. Dengan memahami asas ini, anda boleh membina aplikasi berasaskan rangkaian yang lebih rumit menggunakan Java dan Swing.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Komunikasi Soket dalam Applet Swing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn