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

📄 serverdemo.java~11~

📁 服务器聊天室编写 c/s
💻 JAVA~11~
字号:
package serverdemo;

import javax.swing.UIManager;

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

public class ServerDemo{
  public static void main(String[] args) throws IOException {
    ServerSocket serverSocket = null;
    try {
      serverSocket = new ServerSocket(9998);
    }
    catch (IOException e) {
      System.err.println("不能创建1111端口");
      System.exit(1);
    }
    while (true) {
      Socket clientSocket = null;
      try {
        clientSocket = serverSocket.accept();
      }
      catch (IOException e) {
        System.err.println("访问端口失败");
        System.exit(1);
      }
      (new ClientThread(clientSocket)).start();
    }
    //serverSocket.close();
   // serverSocket.close();
  }
}

  class ClientThread
      extends Thread {
    Socket clientSocket = null;
    PrintWriter out = null;
    BufferedReader in = null;
    boolean runable = true;

    public ClientThread(Socket clientSocket) {
      this.clientSocket = clientSocket;
    }

    public void run() {
      String toClient;
      try {
        out = new PrintWriter(clientSocket.getOutputStream(), true);
        in = new BufferedReader(new InputStreamReader(clientSocket.
            getInputStream()));
        BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.
            in));
        toClient = "您好";
        out.println(toClient);
        ReadClientThread readClientThread = new ReadClientThread(in);
        readClientThread.start();
        while (runable) {
          toClient = stdIn.readLine();
          out.println(toClient);
          if (toClient.equals("Bye"))break;
          runable = readClientThread.runable;
        }
        readClientThread.fromClient = "欢迎下次再来";
        readClientThread.runable = false;
        out.close();
        in.close();
        stdIn.close();
        clientSocket.close();
      }
      catch (Exception e) {
        e.printStackTrace();
      }
    }
  }


class ReadClientThread extends Thread{
  BufferedReader in = null;
  String fromClient = "";
  boolean runable = true;
  public ReadClientThread(BufferedReader in){
    this.in = in;
  }
  public void run(){
    while(runable){
      try{fromClient = in.readLine();}catch(Exception e){runable = false;}
      if(fromClient.equals("Bye")){
        System.out.print("客户端程序退出");
        runable = false;
        break;

      }
      System.out.println("客户端" + fromClient);
    }
  }

}

⌨️ 快捷键说明

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