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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? chatserver.java~31~

?? java編寫的聊天室服務(wù)器程序
?? JAVA~31~
字號(hào):
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();
    }


}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美白人最猛性xxxxx69交| 99久久精品国产导航| 欧美日韩色一区| 亚洲成人av一区二区| 欧美日韩国产不卡| 日本色综合中文字幕| 欧美大黄免费观看| 成人一级片网址| 亚洲激情五月婷婷| 日韩一级免费观看| 国产精品99久久久| 日韩理论电影院| 欧美日韩国产综合久久| 久99久精品视频免费观看| 久久亚洲一级片| av不卡一区二区三区| 亚洲一区在线观看免费观看电影高清 | 成人av综合一区| 亚洲免费观看视频| 欧美成人一区二区三区| 懂色av一区二区夜夜嗨| 亚洲精品久久久蜜桃| 日韩一区二区精品葵司在线| 国产乱码精品1区2区3区| 亚洲精品乱码久久久久久| 在线综合亚洲欧美在线视频| 成人小视频免费在线观看| 亚洲精品福利视频网站| 欧美xxxxxxxx| 91国产精品成人| 久久99国产精品尤物| 一区二区欧美国产| 久久精品无码一区二区三区| 在线亚洲人成电影网站色www| 久热成人在线视频| 自拍偷拍亚洲欧美日韩| 欧美精品一区视频| 欧美午夜免费电影| 成人三级伦理片| 奇米影视一区二区三区| 日韩一区欧美小说| 精品日产卡一卡二卡麻豆| 91麻豆swag| 韩国女主播成人在线| 亚洲成人免费看| 一区在线观看视频| 精品91自产拍在线观看一区| 欧美色精品在线视频| 不卡在线观看av| 国产精一区二区三区| 午夜欧美2019年伦理| 日韩美女视频一区二区 | 国产99久久久国产精品潘金网站| 亚洲一区二区在线视频| 国产精品第一页第二页第三页| 精品女同一区二区| 欧美日韩午夜在线| 在线一区二区观看| 色综合一个色综合亚洲| 成人av资源下载| 国产精品综合二区| 久久国产婷婷国产香蕉| 日韩高清欧美激情| 午夜av电影一区| 亚洲国产视频一区二区| 亚洲欧美另类小说| 亚洲欧洲日产国产综合网| 久久久久久久久久久电影| 日韩精品一区国产麻豆| 69堂成人精品免费视频| 欧美日韩国产小视频在线观看| av一二三不卡影片| 成人精品免费看| 成人app网站| 成人午夜视频福利| 国产91精品在线观看| 国产xxx精品视频大全| 国产精品69毛片高清亚洲| 国产一区二区按摩在线观看| 精品夜夜嗨av一区二区三区| 久久精品国产在热久久| 韩日欧美一区二区三区| 国产美女主播视频一区| 国产伦精品一区二区三区在线观看| 久久精品久久99精品久久| 麻豆精品国产91久久久久久| 另类小说视频一区二区| 另类小说色综合网站| 狠狠色丁香婷综合久久| 久久成人免费网站| 国产成人av电影在线| 成人永久免费视频| 97精品国产97久久久久久久久久久久| 99久久久精品| 欧美性xxxxxx少妇| 日韩一区国产二区欧美三区| 日韩欧美国产综合在线一区二区三区| 日韩一级二级三级| 日本一区二区综合亚洲| 中文字幕一区二区三区av| 一区二区三区四区蜜桃| 五月天中文字幕一区二区| 九九国产精品视频| 成人av网站在线| 91福利资源站| 日韩美女在线视频| 中文欧美字幕免费| 亚洲综合免费观看高清完整版在线 | 国产日韩精品久久久| 1区2区3区精品视频| 亚洲午夜私人影院| 国内精品免费在线观看| 91美女在线视频| 欧美一区二区三区免费| 国产日韩高清在线| 午夜精品视频一区| 国产不卡在线播放| 欧洲av一区二区嗯嗯嗯啊| 欧美精品一区二区高清在线观看| 中文字幕不卡在线播放| 亚洲亚洲精品在线观看| 国产精品系列在线观看| 欧美自拍偷拍一区| 久久久亚洲午夜电影| 一区二区三区在线观看欧美| 国产一区二区91| 欧美三级中文字幕| 国产精品久久久久久久第一福利| 天堂资源在线中文精品| 国产成a人亚洲精| 欧美精品三级日韩久久| 国产精品久久免费看| 美女视频网站久久| 色哦色哦哦色天天综合| 久久久久久久久岛国免费| 五月天激情小说综合| 91影视在线播放| 久久网站最新地址| 日本免费在线视频不卡一不卡二 | 亚洲伊人色欲综合网| 国产激情91久久精品导航| 91精品婷婷国产综合久久性色| 亚洲欧美偷拍三级| 成人深夜福利app| 久久久久久久免费视频了| 日本亚洲视频在线| 欧美色图免费看| 国产精品高潮呻吟| 丁香婷婷综合激情五月色| 欧美第一区第二区| 日韩国产欧美在线播放| 欧美优质美女网站| 1区2区3区精品视频| a4yy欧美一区二区三区| 久久久精品影视| 国产美女在线精品| 精品人伦一区二区色婷婷| 免费成人在线视频观看| 欧美精品免费视频| 五月天亚洲婷婷| 欧美三级电影在线看| 最新欧美精品一区二区三区| 成人18精品视频| 国产精品美女久久久久久久| 国产不卡视频一区| 欧美经典一区二区| 成人免费观看视频| 国产精品美女视频| 99久久久久久99| 亚洲女子a中天字幕| 99久久精品国产毛片| 亚洲三级免费观看| 国产亚洲精品中文字幕| 久久精品免费观看| 久久综合狠狠综合| 国产成人av电影在线观看| 国产亚洲精品aa午夜观看| 国产成人av影院| 中文字幕国产一区二区| 成人av一区二区三区| 亚洲免费在线视频| 91国产成人在线| 丝袜美腿亚洲色图| 精品久久国产字幕高潮| 精品亚洲aⅴ乱码一区二区三区| 精品88久久久久88久久久| 国产精品99久久久久久久vr| ...av二区三区久久精品| 91成人看片片| 青青国产91久久久久久 | 国产欧美一区二区精品秋霞影院| 国产麻豆视频一区二区| 国产精品美女久久久久久| 在线视频一区二区三| 日韩福利视频网| 久久精品男人天堂av| 91美女在线看| 日韩国产欧美三级| 亚洲国产高清不卡| 欧美亚洲尤物久久|