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

📄 watchthead.java

📁 基本设计思路: 协同编辑开始
💻 JAVA
字号:
package servercoedit;/** * <p>Title: CoEditServer</p> * <p>Description: 服务器</p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: zhhz</p> * @author 景栋盛 * @version 1.0 */import java.awt.*;import java.awt.event.*;import java.net.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.text.*;import java.io.*;import java.util.Vector;import java.util.StringTokenizer;// events//import com.sun.star.lang.EventObject;import java.awt.AWTEvent;import java.awt.event.WindowEvent;public class WatchThead extends Thread {  JTextArea jTextArea1;  List list1;  Vector clients=new Vector(40);  ServerSocket commandServerSocket,dataServerSocket;  Socket  socketCommand,socketData;  ServerFrame servFrame;  int active_connects=0;  public WatchThead(ServerFrame serverFrame){    servFrame=serverFrame;    jTextArea1=serverFrame.getTextArea();    list1=serverFrame.getlist();    commandServerSocket=serverFrame.getCommandSocket();    dataServerSocket=serverFrame.getDataSocket();    active_connects=servFrame.getActiveClint();  }  public synchronized void closeAll() {   while(clients.size()>0)  {    ClientSocket c = (ClientSocket) clients.firstElement();    list1.remove(c.name);    try {    c.outCom.writeBytes("QUIT:"+c.name+"\n");//输出服务端    c.socketCom.close();    c.socketDat.close();    c.stop();    }    catch (IOException ee) {      jTextArea1.append("System,  error when exit\n");    }    finally {      clients.removeElement(c);    }  }      try{            this.stop();            commandServerSocket.close();            dataServerSocket.close();            servFrame.setCommandServerSocket(null);          jTextArea1.append("System:Exit Complete.\n");        }      catch(IOException ee)      {jTextArea1.append("System: Exit error \n ");}}  public void run()         {           int i= 0;            while(true)            {               if(clients.size()<40)               {                 try {                   socketCommand = commandServerSocket.accept();                   //socketData=dataSocket.accept();                 }                 catch (IOException ee) {                   jTextArea1.append("System,Connect failed\n");                 }                 do {                   ClientSocket c = new ClientSocket(servFrame,socketCommand,dataServerSocket);                   clients.addElement(c);                   //if(checkName)                    active_connects++;                    servFrame.setActiveClint(active_connects);                   jTextArea1.append("Now there are  " + active_connects + " clients on the Server\n");                  ClientSocket listdata = (ClientSocket) clients.elementAt(clients.size()-1);                   list1.add(listdata.name);                   c.start();                   i++;                   break;                 }                 while (i < clients.size());               }                 else                 {                   try                   {                        Thread.sleep(500);                   }                   catch(InterruptedException ee)                   {                       jTextArea1.append("Sleep Error Happened !\n");                   }                 }  //else            }  //while(true)         }   }

⌨️ 快捷键说明

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