multiserverlistener.java

来自「软件简介: 基于JavaSoundDemo的多客户端语音通信 用JAVA」· Java 代码 · 共 57 行

JAVA
57
字号
package tcpSoundCommunication;

import java.net.ServerSocket;
import java.net.Socket;
//import java.io.IOException;
import java.util.Vector;

public class MultiServerListener {
  Vector sos = new Vector();
  ServerListener g;
  ServerSocket s;
  //给计数
  static int count=0;
  static int maxCon=9;
  static final int PORT = 1983;
  MultiServerListener() {
  }

  public void clearServer() {
    for (int i = 0; i < sos.size(); i++) {
      ServerListener g = (ServerListener) sos.get(i);
      g.stop();
      g=null;
//      for (Enumeration e = g.getElements(); e.hasMoreElements(); ) {
//        }
    }
    sos.removeAllElements();
    count=0;
  }

  public void getServer() throws Exception {
    s = new ServerSocket(PORT);
    System.out.println("Server Started");
    try {
      while (true) {
        if(count >= maxCon)break;
        // Blocks until a connection occurs:
        Socket socket = s.accept();
        try {
          ServerListener sl = new ServerListener(socket);
          sos.addElement(sl);
          count++;
          System.out.println("连接:" + socket.isConnected()+",目前有连接 "+count+" 个,上限为"+maxCon+"人");
        }
        catch (Exception e) {
          // If it fails, close the socket,
          // otherwise the thread will close it:
          socket.close();
        }
      }
    }
    finally {
      s.close();
    }
  }
}

⌨️ 快捷键说明

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