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

📄 client.java

📁 基于socket的聊天室程序java源码
💻 JAVA
字号:
package homework.h20090412.IM01;

//Client.java

import java.net.*;
import java.io.*;
import javax.swing.Timer;
class Client extends Thread {
    Socket skt;
    InetAddress host;
    int port;

    BufferedReader theInputStream;
    PrintStream theOutputStream;
    String readin;

    ImGUI chat;

    public Client(String ip, int p, ImGUI chat) {
        try {
            host = InetAddress.getByName(ip);
            port = p;
            this.chat = chat;
        } catch (IOException e) {
            chat.ta.append(e.toString());
        }
    }

    public void run() {
        try {
            chat.ta.append("尝试连线......");

            skt = new Socket(host, port);
            chat.ta.append("连线成功\n");

            theInputStream = new BufferedReader(new InputStreamReader(skt
                    .getInputStream()));

            theOutputStream = new PrintStream(skt.getOutputStream());
            //Timer myTimer = new Timer();
            while (true) {
                readin = theInputStream.readLine();
                chat.ta.append(readin + "\n");
            }
        } catch (SocketException e) {
            chat.ta.append("连线中断!\n");
            chat.clientBtn.setEnabled(true);
            chat.serverBtn.setEnabled(true);
            chat.tfaddress.setEnabled(true);
            chat.tfport.setEnabled(true);
            try {
                skt.close();
            } catch (IOException err) {
                chat.ta.append(err.toString());
            }
        } catch (IOException e) {
            chat.ta.append(e.toString());
        }
    }

    public void dataout(String data) {
        theOutputStream.println(data);
    }
}


⌨️ 快捷键说明

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