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

📄 serverframe.java

📁 这是我们课程设计的时候做的聊天程序
💻 JAVA
字号:


import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.util.ArrayList;
public class ServerFrame implements ActionListener {

  private Frame f;
  private TextArea ta;
  private MenuBar mb;
  private MenuItem mi_start, mi_stop, mi_exit;
  private Menu m;
  boolean isStop;

  static ArrayList clients;

  ServerFrame() {

    f = new Frame("我的聊天室");
    ta = new TextArea();
    mb = new MenuBar();
    m = new Menu("管理");
    mi_start = new MenuItem("Start");
    mi_stop = new MenuItem("Stop");
    mi_exit = new MenuItem("Exit");
    mb.add(m);
    m.add(mi_start);
    m.add(mi_stop);
    m.add(mi_exit);
    mi_start.addActionListener(this);
    mi_exit.addActionListener(this);


    f.setMenuBar(mb);

    f.add(ta);

    f.setSize(200, 150);
    f.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        System.exit(0);
      }
    });
    f.show();
  }

  public void actionPerformed(ActionEvent e) {
    String cmd = e.getActionCommand();
    if (cmd.equals("Start")) {
      System.out.println("Start Pressed");
      try {
        System.out.println("Server will start");
        ServerSocket server = new ServerSocket(6000);
        while(!isStop){
          Socket Client = server.accept();
          Service ss = new Service(Client);
        }
      }
      catch (Exception ex) {
        ex.printStackTrace();
      }
    }
    if(cmd.equals("Stop")){
    	isStop = false;
    	System.exit(0);
    }

  }

  public static void main(String[] args) {
    new ServerFrame();
  }
}
class Service extends Thread{
  String data;
  BufferedReader InputS;
  PrintStream OutputS;
  Socket Client;

  static String Content="";

  public Service(Socket ClientSocket) throws Exception{
          Client = ClientSocket;
          try {
                  InputS = new BufferedReader(new InputStreamReader(Client.getInputStream()));
                  OutputS = new PrintStream( Client.getOutputStream(),true);
          }
          catch (Exception ex) {
                    System.out.println("Cannot Connect with Client !");
          return;
          }
          this.start();
  }

  public void run() {
          System.out.println (this);
          try {
                  while(true){
                          data = InputS.readLine();
                          if(data.equals("\u0001")){
                          	 OutputS.println(Content);
                          }else{
                          	Content = data +"\u0001"+ Content  ;
                            System.out.println (Content);
                            if (Content==null) break;
                            else{
                                  OutputS.println(Content);
                                  System.out.println("From Client: " + Content);
                            }
                          }
                          
                  }
                Client.close();
          }
          catch (Exception ex) {
                  ex.printStackTrace();
          }
          try {
                   Client.close();
          }
          catch (Exception ex) {
                  ex.printStackTrace();
          }

  }
}

⌨️ 快捷键说明

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