⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.java~79~

📁 java编写的聊天室,采用最新的面向对象技术编写,类似QQ的聊天室源程序
💻 JAVA~79~
字号:
import java.io.IOException;
import java.net.Socket;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class Client implements Runnable {
    private String name;
    private String ip;
    private int port;

    private java.net.Socket socket;
    private java.io.PrintWriter out;
    private java.io.BufferedReader in;

    ChatClient frame = null;

    public Client(ChatClient frame) {
        this.frame = frame;
    }

    public void login() throws IOException {
        if(socket == null || socket.isClosed()) {
            socket = new Socket(ip, port);
            out = new java.io.PrintWriter(
                    new java.io.BufferedWriter(
                            new java.io.OutputStreamWriter(
                                    socket.getOutputStream())));
            in = new java.io.BufferedReader(
                    new java.io.InputStreamReader(
                            socket.getInputStream()));
            new Thread(this).start();
            send("登陆了")
        }
    }

    public void run() {
        try {
            String line = null;
            while ((line = in.readLine()) != null) {
                append(line);
            }
        } catch(Exception e) {}
        append("已经退出聊天室");
    }

    public void append(String s) {
        frame.jTextArea1.append("> "+s);
        frame.jTextArea1.append("\n");
    }

    public void logout() {
        send(name+" 已经退出");
        try {
            socket.close();
        } catch(Exception e) {}
    }

    public void send(String s) {
        if(null != socket && socket.isConnected()) {
            out.println(name+" 说: "+s);
            out.flush();
            frame.jTextField1.setText("");
        }
    }

    public String getName() {
        return name;
    }

    public String getIp() {
        return ip;
    }

    public int getPort() {
        return port;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setPort(int port) {
        this.port = port;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -