client.java

来自「JAVA聊天软件,socket 和多线程序」· Java 代码 · 共 67 行

JAVA
67
字号
package com.server;

import java.io.*;
import java.net.*;




class Client extends Thread {
        Socket skt;
        InetAddress host;
        int port;

        BufferedReader theInputStream;
        PrintStream theOutputStream;
        String readin;

        Face chat;

        public Client(String ip, int p, Face 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 + =
减小字号Ctrl + -
显示快捷键?