Rumah > Java > javaTutorial > Bagaimana untuk Mencipta Aplikasi Pelayan Pelanggan Java berasaskan Swing Mudah Menggunakan Soket?

Bagaimana untuk Mencipta Aplikasi Pelayan Pelanggan Java berasaskan Swing Mudah Menggunakan Soket?

Susan Sarandon
Lepaskan: 2024-12-25 18:27:19
asal
1003 orang telah melayarinya

How to Create a Simple Swing-based Java Client-Server Application Using Sockets?

Menggunakan soket dalam applet Swing

Soalan

Tulis program pelayan dan klien menggunakan bahasa Java berdasarkan Swing dan GUI. Entah bagaimana kita perlu mencipta soket yang pergi dari pelayan ke klien, dan dari klien ke pelayan, dan dapat menghantar beberapa jenis rentetan. Saya berharap untuk menulis fungsi kemudian yang melakukan pelbagai operasi berdasarkan rentetan dalam soket. Atas sebab tertentu saya tidak dapat mencari contoh kod ringkas yang menunjukkan cara untuk mencapai ini dengan cara yang mudah. Adakah sesiapa mempunyai contoh mudah atau boleh menerangkan bagaimana untuk mencapai ini?

Jawapan

Berdasarkan contoh ini, berikut ialah gandingan pelanggan-pelayan rangkaian mudah menggunakan Swing. Terdapat beberapa isu yang berkaitan dengan penyegerakan yang betul untuk diketahui: GUI itu sendiri dibina pada utas penghantaran acara menggunakan invokeLater(). Selain itu, kod ini bergantung pada append() sebagai selamat untuk benang. Akhirnya, saya menggunakan petua berguna daripada artikel "TextArea Scrolling".

Kemas kini: Dalam Java 7, append() tidak lagi ditandakan sebagai thread-safe; gunakan invokeLater() dalam paparan() untuk mengisih kemas kini.

[Gambar: Gema](https://i.sstatic.net/W32IY.png)

package net;

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.util.Scanner;
import javax.swing.*;
import javax.swing.text.DefaultCaret;

/**
 * A simple network client-server pair
 * @http://stackoverflow.com/questions/3245805
 */
public class Echo implements ActionListener, Runnable {

    // 常量
    private static final String HOST = "127.0.0.1";
    private static final int PORT = 12345;

    // GUI 组件
    private final JFrame f = new JFrame();
    private final JTextField tf = new JTextField(25);
    private final JTextArea ta = new JTextArea(15, 25);
    private final JButton send = new JButton("Send");

    // 网络变量
    private volatile PrintWriter out;
    private Scanner in;
    private Thread thread;

    // 类型枚举
    private Kind kind;

    public static enum Kind {
        Client(100, "Trying"), 
        Server(500, "Awaiting");

        private int offset;
        private String activity;

        private Kind(int offset, String activity) {
            this.offset = offset;
            this.activity = activity;
        }
    }

    public Echo(Kind kind) {
        this.kind = kind;
        // GUI 设置
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Aplikasi Pelayan Pelanggan Java berasaskan Swing Mudah Menggunakan Soket?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan