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

📄 serverdemo.java~10~

📁 服务器聊天室编写 c/s
💻 JAVA~10~
字号:
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();
}
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 + -