亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? chatserver.java

?? 電子白板代碼(JAVA).
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
     }
    }catch(PleaseCloseSocketException e) {
    }catch(IOException e){
    }finally {
      try{
       roomGroup.quit(roomID,this);
       refreshToAllNotMe();
      }catch(Exception e){}
      socketClose();
      used=false;
      logged=false;
    }
   }
  }catch(IOException e){
   System.out.println(e);
  }
 }// method 'run' ended

 public void destroy() {
  socketClose();
  this.stop();
 }// method 'destroy' ended

 public void socketClose() {
  try{
   io_in.close();
   io_in=null;
  }catch(Exception e){}
  try{
   io_out.flush();
   io_out.close();
   io_out=null;
  }catch(Exception e){}
  try{
   s.close();
   s=null;
  }catch(Exception e){}
 }// method 'socketClose' ended

 public void sendText() throws 
     PleaseCloseSocketException {

  String message=null;
  DataBag data=null;
  try{
   synchronized (this){
    message=io_in.readUTF();
   }
   data=new DataBag(name,message,0,0,0,0,0);
   for(int i=0;i< users.length;i++) {
    if ((users[i].logged)&&(users[i].ID!=ID)&&
      (!users[i].paused)&&(users[i].roomID==roomID))
     users[i].commandCenter("server_ask_text",data);
   }
  }catch(IOException e){
   throw new PleaseCloseSocketException();
  }
 }// method 'sendText' ended

 public void sendDraw() throws PleaseCloseSocketException {

  String message=null;
  int color=0,x0=0,y0=0,x1=0,y1=0;
  DataBag data=null;
  try{
   synchronized (this) {
    color=io_in.readInt();
    x0=io_in.readShort();
    y0=io_in.readShort();
    x1=io_in.readShort();
    y1=io_in.readShort();

   }
   data=new DataBag("none","none",color,x0,y0,x1,y1);
   for(int i=0;i< users.length;i++) {
    if ((users[i].logged)&&(users[i].ID!=ID)
      &&(!users[i].paused)&&(users[i].roomID
       ==roomID))
     users[i].commandCenter("server_ask_draw",data);
   }
  }catch(IOException e){
   throw new PleaseCloseSocketException();
  }
 }// method 'sendDraw' ended


 public void refreshToAll() throws PleaseCloseSocketException {
  for(int i=0;i< users.length;i++) {
   if (users[i].logged)
    users[i].commandCenter("server_ask_refresh",new   DataBag("none","none",0,0,0,0,0));
  }
 }// method "refreshToAll" ended

 public void refreshToAllNotMe() throws
     PleaseCloseSocketException {
  for(int i=0;i< users.length;i++) {
   if ((users[i].logged)&&(users[i].ID!=ID))
    users[i].commandCenter("server_ask_refresh",
     new DataBag("none","none",0,0,0,0,0));
  }
 }// method "refreshToAll" ended


 public void commandCenter(String
     command,DataBag data) throws
         PleaseCloseSocketException {
  if (command.equals("server_ask_refresh")) server_ask_refresh();
   else if (command.equals("refresh")) server_answer_refresh();
   else if (command.equals("log")) server_answer_log();
   else if (command.equals("join")) server_answer_join();
   else if (command.equals("pause")) server_answer_pause();
   else if (command.equals("continue")) server_answer_continue();
   else if (command.equals("new")) server_answer_newRoom();
   else if (command.equals("quit")) server_answer_quit();
   else if (command.equals("server_ask_text")) server_ask_text(data);
   else if (command.equals("server_ask_draw"))
    server_ask_draw(data);


 }// method commandCenter ended

 private void server_ask_draw(DataBag data)
    throws PleaseCloseSocketException {

  String message=null;

  try{
   synchronized (this){
    io_out.writeUTF("draw");
    io_out.writeInt(data.color);
    io_out.writeShort(data.x0);
    io_out.writeShort(data.y0);
    io_out.writeShort(data.x1);
    io_out.writeShort(data.y1);
   }
   message_TextArea.appendText("\nChannel"+ID+"("+
         name+"):send:"+"draw data");

  }catch(IOException e){
   throw new PleaseCloseSocketException();
  }

 }// method 'server_ask_draw' ended

 private void server_ask_text(DataBag data)
      throws PleaseCloseSocketException {

  String message=null;

  try{
   synchronized (this){
    io_out.writeUTF("text");
    io_out.writeUTF(data.name);
    io_out.writeUTF(data.message);
   }
   message_TextArea.appendText("\nChannel"+ID+"("+
         name+"):send:"+"text :"+data.message);

  }catch(IOException e){
   throw new PleaseCloseSocketException();
  }

 }// method 'server_ask_text' ended

 private void server_ask_refresh() throws
     PleaseCloseSocketException {

  String message=null;

  try{
   synchronized (this){
    io_out.writeUTF("refresh");
    for(int i=0;i< roomGroup.roomCount();i++) {
      if (roomGroup.isActive(i)) {
       io_out.writeUTF(roomGroup.getRoomName(i));
       String[] names=roomGroup.getUsersName(i);
       if (names!=null)
        for(int j=0;j< names.length;j++) {
         io_out.writeUTF(names[j]);
        }
       io_out.writeUTF("complete");
      }
    }
    io_out.writeUTF("ok");
    io_out.writeUTF(roomGroup.getRoomName(roomID));
   }
   message_TextArea.appendText("\nChannel"+ID+"("+
         name+"):send:"+"refresh data");
  }catch(IOException e){
   throw new PleaseCloseSocketException();
  }catch(NoSuchRoomException e){}
 }// method 'server_ask_refresh' ended

 private void server_answer_refresh() throws
     PleaseCloseSocketException {

  String message=null;

commandCenter("server_ask_refresh",
    new DataBag("none","none",0,0,0,0,0));

 }// method 'server_answer_refresh' ended

 private void server_answer_log() throws 
     PleaseCloseSocketException {

  String message=null;

  try{
   name=io_in.readUTF();
   logged=true;
   belongRoom=false;
   message_TextArea.appendText("\nChannel"+ID+"("+
         name+"):logged");

  }catch(IOException e){
   throw new PleaseCloseSocketException();
  }
 }// method 'server_answer_log' ended

 private void server_answer_join() throws
     PleaseCloseSocketException {

  String message=null;
  int roomID=0;

  try{
   if (belongRoom) {
    try{
     roomGroup.quit(this.roomID,this);
     belongRoom=false;

    }catch(NoSuchRoomException e){}
   }
   roomID=roomGroup.getRoomID(io_in.readUTF());
   paused=false;
   try{
    roomGroup.join(roomID,this);
    belongRoom=true;
    paused=false;
    this.roomID=roomID;
    message_TextArea.appendText("\nChannel"+ID+"("+
         name+"):join room("+roomGroup.getRoomName(roomID)+")");

   }catch(NoSuchRoomException e){}

  }catch(IOException e){
   throw new PleaseCloseSocketException();
  }
 }// method 'server_answer_join' ended

 private void server_answer_pause() throws
     PleaseCloseSocketException {

  String message=null;

  paused=true;
  message_TextArea.appendText("\nChannel"+ID+"("+
         name+"):paused");
 }// method 'server_answer_pause' ended

 private void server_answer_continue() throws 
       PleaseCloseSocketException {

  String message=null;

  paused=false;
  message_TextArea.appendText("\nChannel"+ID+"("+
         name+"):continued");
 }// method 'server_answer_continue' ended

 private void server_answer_newRoom() throws
        PleaseCloseSocketException {

  String message=null;
  int roomID=0;

  try{
   if (belongRoom) {
     roomGroup.quit(this.roomID,this);
     belongRoom=false;
   }
   message=io_in.readUTF();
   try{
    roomID=roomGroup.newRoom(message);
    belongRoom=false;
    paused=false;
    roomGroup.join(roomID,this);
    belongRoom=true;
    this.roomID=roomID;
    message_TextArea.appendText("\nChannel"+ID+"("+
         name+"):new room("+message+")");

   }catch(TooManyRoomsException e){
   }
  }catch(IOException e){
   throw new PleaseCloseSocketException();
  }catch(NoSuchRoomException e){}
 }// method 'server_answer_new' ended

 private void server_answer_quit() throws 
     PleaseCloseSocketException {

  String message=null;

  try{
   try{
    roomGroup.quit(roomID,this);
    used=false;
    logged=false;
    belongRoom=false;
    roomID=0;
    name=null;
    message_TextArea.appendText
     ("\nChannel"+ID+"("+
         name+"):quited");

   }catch(NoSuchRoomException e){
   io_out.writeUTF("fail");
   }

  }catch(IOException e){
   throw new PleaseCloseSocketException();
  }

 }// method 'server_answer_quit' ended


}// class 'user' ended


//class 8:RoomData,Applet引用的交談室數據類
class RoomData {

 String roomName=null;
 int roomID=0;
 Vector users=null;

 RoomData(String name) {
  roomName=name;
  users=new Vector(10,5);
 }

 public void addUser(String name) {
  users.addElement(name);
 }

 public void removeUser(String name) {
  users.removeElement(name);
 }

 public String[] getUsersName() {

  Enumeration e=null;
  String[] s=null;

  if ((users!=null)&(users.size() >0)) {
   e=users.elements();
   s=new String[users.size()];
   for(int i=0;i< s.length;i++) {
    s[i]=(String)(users.elementAt(i));
   }
  }

  return s;
 }

 public int usersCount() {
  return users.size();
 }

}
// class 'RoomData' ended

//class 9:Rooms,Applet所用的交談室數據類
class Rooms extends Vector {

 String defaultSubject=null;

 public Rooms(int a,int b) {
  super(a,b);
  defaultSubject=RoomGroup.DEFAULT_ROOM_SUBJECT;
 }

 public void setDefault(String name){
  if (getRoomByName(name)!=null) {
   defaultSubject=name;
  }
 }

 public String getDefaultRoomName() {
  return defaultSubject;
 }

 public int getRoomID(String name) {

  int index=0;

  for(int i=0;i< size();i++) {
   if (((RoomData)elementAt(i)).roomName==name) {
    index=((RoomData)elementAt(i)).roomID;
    return index;
    //break;
   }
  }
  return -1;
 }

 public RoomData getRoomByName(String name) {

  int index=0;

  for(int i=0;i< size();i++) {
   if ((((RoomData)elementAt(i)).roomName).equals(name)) {
    index=i;
    return ((RoomData)elementAt(i));
   }
  }
  return null;
 }
}


///class 10:DataBag,包裝圖形和文字信息類
class DataBag {

 String message=null;
 String name=null;
 int color=0,x0=0,y0=0,x1=0,y1=0;

 DataBag(String name,String message,int color,int x0,int y0,int x1,int y1) {
  this.name=name;
  this.message=message;
  this.color=color;
  this.x0=x0;
  this.y0=y0;
  this.x1=x1;
  this.y1=y1;
 }
}

//class 11:SendDraw,Applet后臺數據傳輸類
class SendDrawData extends Thread {

 volatile boolean sended=true;
 DataInputStream io_in=null;
 DataOutputStream io_out=null;

 SendDrawData(PipedInputStream io_in,DataOutputStream io_out) {
  super();
  this.io_in=new DataInputStream(io_in);
  this.io_out=io_out;
  start();
 }

 public void run() {

  int color,x0,y0,x1,y1;

  try{
   while(true) {
    color=io_in.readInt();
    x0=io_in.readInt();
    y0=io_in.readInt();
    x1=io_in.readInt();
    y1=io_in.readInt();
    sended=false;
    synchronized(this) {
     io_out.writeUTF("draw");
     io_out.writeInt(color);
     io_out.writeShort(x0);
     io_out.writeShort(y0);
     io_out.writeShort(x1);
     io_out.writeShort(y1);

    }
    sended=true;
   }
  }catch(IOException e){
   try{
    io_in.close();
    io_in=null;
    io_out.flush();
    io_out.close();
    io_out=null;
   }catch(IOException r){}
  }
 }

 public void quit() {
  try{
    io_in.close();
    io_out.flush();
    io_in=null;

  }catch(IOException e){
   System.out.println(e);
  }
  stop();
 }
}

//class12:Logo,Applet所用徽標
class Logo extends Canvas {

 Image logo_Image=null;

 Logo(Image logo_Image,int width,int height){
  this.logo_Image=logo_Image;
  resize(width,height);
 }

 public void paint(Graphics g){
  g.drawImage(logo_Image,0,0,size().width,size().height,
   Color.white,this);
 }
}

//自定義的異常類
class NoSuchRoomException extends Exception {}
class NotMemberException extends Exception {}
class PleaseCloseSocketException extends Exception{}
class TooManyRoomsException extends Exception{}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲6080在线| 欧美高清在线一区二区| 日本在线不卡视频一二三区| 欧美一二三区精品| 国产一区二区三区四区五区入口 | 亚洲少妇屁股交4| 91麻豆成人久久精品二区三区| 最好看的中文字幕久久| 欧美日韩在线播放三区四区| 日本最新不卡在线| 久久伊人中文字幕| 91首页免费视频| 亚洲成人免费影院| 久久综合一区二区| 99久精品国产| 免费不卡在线视频| 亚洲国产高清aⅴ视频| 91影视在线播放| 看国产成人h片视频| 国产色91在线| 欧美色成人综合| 久久精品噜噜噜成人av农村| 国产精品久久福利| 欧美精品电影在线播放| 国产传媒一区在线| 亚洲国产精品久久久久婷婷884| 日韩欧美激情一区| 日本精品视频一区二区三区| 久久国产精品第一页| 亚洲色图丝袜美腿| 欧美大尺度电影在线| 91在线观看视频| 极品少妇一区二区| 亚洲主播在线观看| 日本一区二区视频在线| 欧美精品99久久久**| 91在线观看高清| 国产乱人伦偷精品视频免下载| 一区二区三区四区视频精品免费 | 成+人+亚洲+综合天堂| 日韩精品一区二区在线| 国产精品自拍在线| 国产精品福利一区二区| 精品精品国产高清a毛片牛牛| 一本一道综合狠狠老| 国产一区二区伦理| 日韩黄色一级片| 一区二区久久久久| 综合电影一区二区三区| 精品国产免费一区二区三区香蕉| 欧美视频日韩视频| 97久久精品人人做人人爽50路 | 在线观看精品一区| 成人免费视频网站在线观看| 麻豆专区一区二区三区四区五区| 亚洲色图制服诱惑| 国产精品国产精品国产专区不蜜| 91精品福利在线一区二区三区| 91婷婷韩国欧美一区二区| 国产电影一区在线| 国产精品系列在线播放| 国模一区二区三区白浆| 日本不卡视频在线| 午夜精品久久久久影视| 亚洲午夜久久久久久久久电影院| 中文字幕在线视频一区| 国产女主播视频一区二区| 久久精品人人做人人综合| 亚洲精品在线观看视频| 日韩欧美国产综合一区| 日韩精品最新网址| 日韩女优电影在线观看| 日韩一级在线观看| 日韩欧美在线一区二区三区| 91精品久久久久久久91蜜桃| 3d成人动漫网站| 欧美不卡在线视频| 精品国产乱码久久久久久牛牛| 日韩欧美国产综合| 久久亚区不卡日本| 精品国产一区二区精华| 久久亚洲一区二区三区四区| 国产午夜三级一区二区三| 久久久久久久精| 欧美极品少妇xxxxⅹ高跟鞋| 久久久亚洲欧洲日产国码αv| 国产日韩欧美精品在线| 中文字幕在线观看不卡| 亚洲五码中文字幕| 全部av―极品视觉盛宴亚洲| 国产麻豆一精品一av一免费| www.亚洲免费av| 91黄视频在线| 日韩亚洲欧美在线观看| 久久久久久久久免费| 国产精品污网站| 亚洲国产精品综合小说图片区| 天天影视色香欲综合网老头| 紧缚捆绑精品一区二区| 成人美女在线观看| 欧美性一区二区| 欧美刺激午夜性久久久久久久| 国产视频一区在线播放| 一区二区三区丝袜| 另类中文字幕网| 色综合一个色综合亚洲| 91精品国产美女浴室洗澡无遮挡| 精品国产伦一区二区三区免费| 国产精品每日更新在线播放网址 | 午夜精品国产更新| 国内精品自线一区二区三区视频| av综合在线播放| 日韩视频一区二区三区 | 欧美亚洲国产一区二区三区va| 欧美三级电影网| 国产欧美日韩视频在线观看| 亚洲午夜免费福利视频| 国产精一品亚洲二区在线视频| 在线观看区一区二| 国产人成一区二区三区影院| 亚洲高清中文字幕| 国产a久久麻豆| 日韩亚洲国产中文字幕欧美| 中文字幕在线一区免费| 精品一区中文字幕| 欧美在线短视频| 国产精品免费网站在线观看| 日本不卡的三区四区五区| 成人aaaa免费全部观看| 日韩一区二区三区视频在线| 亚洲欧美日韩国产成人精品影院 | 丝袜a∨在线一区二区三区不卡| 色综合久久久久| 久久香蕉国产线看观看99| 婷婷丁香激情综合| 91在线视频网址| 国产网站一区二区三区| 免费在线成人网| 欧美亚洲动漫制服丝袜| 亚洲欧美视频在线观看视频| 国产精品中文字幕日韩精品| 91精品国产色综合久久不卡蜜臀 | 亚洲最大的成人av| 粉嫩aⅴ一区二区三区四区 | 51精品视频一区二区三区| 成人免费在线视频| 国产精品69久久久久水密桃 | 久久蜜臀精品av| 另类小说综合欧美亚洲| 欧美精品 国产精品| 亚洲精品国产视频| 91色乱码一区二区三区| 国产精品入口麻豆九色| 国产一区二区三区国产| 久久综合色综合88| 久草热8精品视频在线观看| 日韩天堂在线观看| 久久国产精品免费| 欧美成人官网二区| 久久国产精品色婷婷| 精品日韩在线观看| 精品夜夜嗨av一区二区三区| 欧美一区二区网站| 免费久久精品视频| 欧美大胆一级视频| 国产麻豆精品在线| 国产日韩av一区二区| 国产精品1区二区.| 欧美国产综合一区二区| 国产a精品视频| 中文字幕一区三区| 91麻豆福利精品推荐| 亚洲亚洲精品在线观看| 欧美视频一二三区| 麻豆精品一区二区综合av| 日韩免费视频一区| 国模娜娜一区二区三区| 26uuu另类欧美亚洲曰本| 国产一区999| 国产精品久久久久婷婷| 色婷婷av久久久久久久| 亚洲国产裸拍裸体视频在线观看乱了 | 一区二区欧美国产| 欧美日韩成人综合在线一区二区| 偷拍自拍另类欧美| 日韩欧美精品三级| 国产高清在线精品| 亚洲色图制服丝袜| 91 com成人网| 久久精品国产99久久6| 日本一区二区三区四区在线视频| 成人高清视频在线观看| 艳妇臀荡乳欲伦亚洲一区| 欧美高清性hdvideosex| 精品一区二区三区免费毛片爱 | 国产成人超碰人人澡人人澡| 亚洲欧美区自拍先锋| 欧美日韩一区二区电影| 激情五月激情综合网| 国产精品第四页|