servermj.java

来自「实现简单新闻管理功能」· Java 代码 · 共 79 行

JAVA
79
字号

import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;

class servermj extends Thread 
{
    ServerSocket socket; 
    Socket Client; 
    TextArea in;

    BufferedReader theInputStream; 
    PrintStream theOutputStream; 
    String readin;   

    mj chat; 

    public servermj(int port, mj chat)
    {
        try {
 
            socket = new ServerSocket(port);
            this.chat = chat;
        }
        catch (IOException q)
        {
            chat.sm.append(q.toString());
        }
    }

    public void run()
    {
        try {
            chat.sm.append("WAIT......");

            Client = socket.accept();
            chat.sm.append("CLIENT" + Client.getInetAddress() + "CONNECT\n");

            theInputStream = new BufferedReader(
                new InputStreamReader(Client.getInputStream()));
            theOutputStream = new PrintStream(Client.getOutputStream());

            while(true)
            {
                readin = theInputStream.readLine();
                chat.sm.append(readin + "\n");
            }
        }
        catch (SocketException q) 
        {
            chat.sm.append("INTERRUPT!\n");

            chat.clientBtn.setEnabled(true);
            chat.serverBtn.setEnabled(true);
            chat.tfaddress.setEnabled(true);
            chat.tfport.setEnabled(true);
            try {

                socket.close();
                Client.close();
            }
            catch (IOException err)
            {
                chat.sm.append(err.toString());
            }
        }
        catch (IOException q)
        {
            chat.sm.append(q.toString());
        }
    }


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

⌨️ 快捷键说明

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