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

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

?? chatserver.java~32~

?? java編寫的聊天室服務器程序
?? JAVA~32~
字號:
package chatServer;
import chatServer.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.net.*;
import chatServer.*;
import javax.swing.tree.*;
public class ChatServer extends WindowAdapter implements ActionListener,Runnable {
     private JFrame f = null;
     private JPanel p1 = null;
     private JButton button_start = null;
     private JPanel p2 = null;
     private JTree tree = null;
     private DefaultTreeModel treeModel=null;
     private DefaultMutableTreeNode root=null;
     private JLabel revMsgLabel;
     private JPanel p3 = null;
     public JTextArea revMsg = null;//public for ServerThread
     private JButton button_clear = null;
     private BorderLayout borderLayout1 = new BorderLayout();
     private BorderLayout borderLayout2 = new BorderLayout();
     private BorderLayout borderLayout3 = new BorderLayout();

     private ServerSocket ss;
     private Socket sock;
     private DataInputStream in;
     private DataOutputStream dout;
     private UsrContainer usrList;
     public ChatServer(Socket sock)
     {
         this.sock=sock;
     }

    public ChatServer()
    {
        usrList=new UsrContainer();

         f = new JFrame("ChatServer");
         Container contentPane = f.getContentPane();
         f.setSize(600, 500);
         contentPane.setLayout(borderLayout1);

         p1 = new JPanel();
         button_start = new JButton("Start Server");
         //button_start.setPreferredSize(new Dimension(60, 30));
         button_start.addActionListener(this);
         p1.add(button_start);
         f.add(p1, borderLayout1.NORTH);

         p2 = new JPanel();
        p2.setSize(100, 400);
        root = new DefaultMutableTreeNode("User List");
        tree = new JTree(root);
        treeModel=(DefaultTreeModel)tree.getModel();
        JScrollPane scrollPane=new JScrollPane();
        scrollPane.setViewportView(tree);
        scrollPane.setPreferredSize(new Dimension(200, 768));
        p2.add(scrollPane);
        f.add(p2, borderLayout1.WEST);


         p3 = new JPanel();

         revMsg = new JTextArea();
         revMsg.setLineWrap(true);
         JScrollPane revScrollPane = new JScrollPane(revMsg);
         revMsg.setEditable(false);
         button_clear = new JButton("clear");
         button_clear.addActionListener(this);


         JPanel p_3_1 = new JPanel();
        revMsgLabel = new JLabel("消息列表:");
        p_3_1.setLayout(borderLayout2);
        p_3_1.add(revMsgLabel, borderLayout2.NORTH);
        p_3_1.add(button_clear, borderLayout2.SOUTH);
        p_3_1.add(revScrollPane, borderLayout2.CENTER);



         f.add(p_3_1, borderLayout1.CENTER);

         f.show();
         f.addWindowListener(this);


    }

    private void listen( int port ) throws IOException {

    // Create the ServerSocket
    ss = new ServerSocket( port );

    // Keep accepting connections forever
    while (true) {

      // Grab the next incoming connection
      Socket s = ss.accept();

      revMsg.setText( revMsg.getText()+"\n"+"Connection from "+s );

      DataInputStream tmpin = new DataInputStream( s.getInputStream() );
      // Create a DataInputStream for writing usrNick come
      String usrNick = tmpin.readUTF();


      // Create a DataOutputStream for writing data to the
      // other side
      DataOutputStream dout = new DataOutputStream( s.getOutputStream() );

      // Save this stream so we don't need to make it again
      UserInfo usr=new UserInfo(usrNick,s,dout);
      usrList.addUser(usr);
     // revMsg.setText( revMsg.getText()+"\n"+usrList.getUsrNum() );


      // Create a new thread for this connection, and then forget
      // about it
      new ServerThread( this,s).start();
      updateUsrList();
    }
  }


   public void actionPerformed(ActionEvent e)
   {
       if(e.getSource()==button_start)
        {
            if(button_start.getText().equals("Start Server"))
            {
                new Thread(this).start();
            }
        }

   }
   public void run()
   {
       try{
             listen(10000);
      }
      catch( IOException ie )
      {
        revMsg.setText( revMsg.getText()+"\n"+ie.toString());
      }

   }
   public void sendToAll(String message)
   {
       int i=0;
       for(i=0;i<usrList.getUsrNum();i++)
       {
           try{
               usrList.getUsr(i).sendToUsr(message);
           }
           catch( IOException ie )
           {
               revMsg.setText( revMsg.getText()+"\n"+"Sending "+message);
           }

       }
   }
   public void removeConnection(Socket socket)
   {

       try
       {
           UserInfo tmp = new UserInfo(socket);
           usrList.delUser(tmp);
           socket.close();
           updateUsrList();
       }
       catch(IOException ie)
       {
           revMsg.setText(revMsg.getText()+"\n"+ie.toString());
       }

   }

   public void updateUsrList()
  {
      root.removeAllChildren();
      treeModel.reload();
      String strSend=null;
      int usrNum=usrList.getUsrNum();
      if(usrNum<10)
         strSend=""+1+0+usrNum;
      else
          strSend=""+1+usrNum;
      int i=0;
      for(i=0;i<usrNum;i++)
      {
          String nodeStr=usrList.getUsr(i).getNickAndIP();
          DefaultMutableTreeNode newNode=new DefaultMutableTreeNode(nodeStr);
          treeModel.insertNodeInto(newNode,root,root.getChildCount());
          tree.scrollPathToVisible(new TreePath(newNode.getPath()));
          strSend+=usrList.getUsr(i).getNick().length()+usrList.getUsr(i).getNick();
          String tmpIP=usrList.getUsr(i).getIP();
          int tmpIPlen=tmpIP.length();
          if(tmpIPlen<10)
              strSend+="0"+tmpIPlen+tmpIP;
          else
              strSend+=tmpIPlen+tmpIP;

      }
      this.sendToAll(strSend);



  }


   public static void main(String[] args) {
        ChatServer chatclient = new ChatServer();
    }


}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久综合精品| av高清不卡在线| 日韩高清一区二区| 亚洲一区在线观看视频| 一级精品视频在线观看宜春院| 亚洲女与黑人做爰| 亚洲一级在线观看| 日本va欧美va瓶| 久久91精品国产91久久小草| 国产自产高清不卡| 成人激情小说网站| 在线看一区二区| 91精品婷婷国产综合久久性色 | 欧美日韩情趣电影| 91精品免费在线观看| 精品国产1区二区| 欧美国产一区二区| 亚洲激情自拍偷拍| 日本午夜一本久久久综合| 国产精品白丝jk黑袜喷水| 99视频国产精品| 欧美日韩免费观看一区二区三区| 日韩一卡二卡三卡| 欧美激情综合网| 亚洲国产精品影院| 国产一区福利在线| 欧美曰成人黄网| 精品久久久久久亚洲综合网| 国产精品网曝门| 日本成人中文字幕| 97se亚洲国产综合在线| 欧美一区二区三区在线观看视频| 亚洲国产成人午夜在线一区| 亚洲国产另类av| 国产成人精品午夜视频免费| 精品视频在线视频| 国产亚洲午夜高清国产拍精品 | 成人免费看视频| 欧美日韩在线播放一区| 久久久精品2019中文字幕之3| 亚洲精品免费在线| 国产电影精品久久禁18| 欧美日韩欧美一区二区| 国产精品超碰97尤物18| 久久99国产精品尤物| 精品视频一区三区九区| 国产精品国产三级国产| 久草中文综合在线| 欧美日韩国产欧美日美国产精品| 国产精品狼人久久影院观看方式| 视频一区免费在线观看| 成人免费视频一区| 精品国产电影一区二区| 日本中文一区二区三区| 欧洲一区二区三区免费视频| 中文字幕精品一区二区三区精品| 九一九一国产精品| 欧美一区日本一区韩国一区| 亚洲午夜久久久久久久久电影网| 99久久99精品久久久久久 | www.日韩av| 国产亚洲精品bt天堂精选| 琪琪一区二区三区| 欧美日韩成人在线| 亚洲国产综合在线| 欧美熟乱第一页| 亚洲国产欧美日韩另类综合 | 99精品国产99久久久久久白柏| 欧美精品一区男女天堂| 开心九九激情九九欧美日韩精美视频电影 | 麻豆精品久久久| 日韩一级黄色片| 日本欧美在线看| 欧美大肚乱孕交hd孕妇| 日韩国产在线观看一区| 欧美日韩aaaaaa| 日韩1区2区日韩1区2区| 91精品麻豆日日躁夜夜躁| 日本亚洲天堂网| 精品精品国产高清a毛片牛牛| 久草中文综合在线| 国产片一区二区| 成av人片一区二区| 亚洲乱码国产乱码精品精小说 | 亚洲国产成人私人影院tom| 国产一区 二区| 中文一区二区完整视频在线观看| 国产成人精品免费在线| 日韩毛片精品高清免费| 欧美私模裸体表演在线观看| 无吗不卡中文字幕| 日韩欧美在线网站| 成人午夜在线免费| 亚洲欧美日韩系列| 欧美日韩高清在线播放| 精品一区二区三区影院在线午夜| 久久久久久久久久看片| 91一区二区在线观看| 日韩一区精品视频| 久久久久久免费网| 在线免费亚洲电影| 久久精品国内一区二区三区| 国产精品天干天干在线综合| 91麻豆免费观看| 免费黄网站欧美| 国产精品每日更新| 欧美一级搡bbbb搡bbbb| 岛国精品在线播放| 婷婷中文字幕综合| 国产精品午夜在线| 日韩一级片网址| www.亚洲色图.com| 青青草原综合久久大伊人精品 | 亚洲日本成人在线观看| 欧美一区二区三区四区久久| av在线播放不卡| 美女视频黄免费的久久| 亚洲欧美日韩电影| 国产亚洲午夜高清国产拍精品| 欧洲一区在线电影| 国产精品123| 日韩电影在线观看网站| 亚洲精选一二三| 久久亚洲春色中文字幕久久久| 色天天综合色天天久久| 国产成人h网站| 日本91福利区| 亚洲成人免费在线| 亚洲伦理在线免费看| 日本一区二区免费在线 | 在线免费观看日本一区| 高清av一区二区| 狠狠色丁香久久婷婷综| 三级影片在线观看欧美日韩一区二区| 中文字幕日韩一区二区| 久久久久久**毛片大全| 欧美本精品男人aⅴ天堂| 欧美人牲a欧美精品| 欧美在线观看一区| 色婷婷国产精品久久包臀| a在线播放不卡| 成人在线一区二区三区| 国产麻豆日韩欧美久久| 久久99精品一区二区三区三区| 手机精品视频在线观看| 亚洲成人综合在线| 午夜精品影院在线观看| 亚洲国产日日夜夜| 午夜欧美大尺度福利影院在线看| 一区二区三区91| 亚洲午夜电影在线| 亚洲成人自拍偷拍| 丝袜美腿亚洲综合| 麻豆精品一区二区三区| 国模冰冰炮一区二区| 国产一区久久久| 成人免费三级在线| 日本久久电影网| 欧美日韩一级大片网址| 7777精品伊人久久久大香线蕉经典版下载| 欧美三级韩国三级日本一级| 欧美三级在线播放| 欧美tickling网站挠脚心| 精品少妇一区二区三区在线视频| 久久久国产午夜精品| ●精品国产综合乱码久久久久| 一区二区免费在线播放| 日本欧美一区二区三区乱码| 久久99在线观看| 9l国产精品久久久久麻豆| 欧美亚洲丝袜传媒另类| 日韩欧美一二三四区| 中文字幕免费观看一区| 亚洲午夜激情网页| 激情文学综合插| 91视频在线观看| 日韩一级大片在线| 日本一区二区综合亚洲| 亚洲成a人v欧美综合天堂| 国产精品一区二区在线看| 色婷婷综合五月| 日韩美女主播在线视频一区二区三区 | 欧美日韩国产精品成人| 久久影院电视剧免费观看| 亚洲欧美另类图片小说| 激情图片小说一区| 在线观看日韩电影| 久久久久九九视频| 视频在线观看91| 91丨九色丨蝌蚪丨老版| 日韩三级中文字幕| 亚洲精品高清视频在线观看| 国产在线播放一区| 欧美精品一二三四| 1区2区3区精品视频| 国产一区二区三区四区五区美女 | 在线亚洲人成电影网站色www| 欧美成人在线直播| 亚洲激情校园春色| 丁香啪啪综合成人亚洲小说 |