乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      簡單聊天程序java socket

       zhanghuan 2007-11-12
      import java.awt.*;
      import java.net.*;
      import java.io.*;
      import java.awt.event.*;
      public class Client extends Frame implements Runnable
      {
          private TextField nameBox=new TextField("<姓名>");
          private TextArea msgView=new TextArea();
          private TextField sendBox=new TextField();
          private BufferedReader reader;
          private PrintWriter writer;
          private Socket socket;
          public Client(String title)
          {
              super(title);
              msgView.setEditable(false);
              add(nameBox,"North");
              add(msgView,"Center");
              add(sendBox,"South");
              sendBox.addActionListener(new ActionListener()
              {
                  public void actionPerformed(ActionEvent ae)
                  {
                      try{
                          writer.println(nameBox.getText()+":"+sendBox.getText());
                          sendBox.setText("");
                      }catch(Exception ie){}
                  }
              });
              pack();       
          }

      public void run()
      {
          while(true){
              try{
                  msgView.append(reader.readLine()+"\n");
              }catch(IOException ie){
              }
          }
      }
      private void connect()
      {
          try{
              msgView.append("和服務(wù)器套接字連接\n");
             socket=new Socket("127.0.0.1",2554);
              msgView.append("聊天就緒\n");
              reader=new BufferedReader(
                  new InputStreamReader(socket.getInputStream()));
              writer=new PrintWriter(socket.getOutputStream(),true);
                 new Thread(this).start();       
          }catch(Exception e){
              msgView.append("連接失敗");
          }
      }
      public static void main(String[] args)
      {
          Client client=new Client("聊天");
          client.setVisible(true);
          client.connect();
      }
      }













      import java.net.*;
      import java.io.*;
      import java.util.*;
      public class Server
      {
          private ServerSocket server;
          private BManager bMan=new BManager();
          public Server(){};
          void startServer()
          {
              try
              {
                  server=new ServerSocket(2554);
                  System.out.println("服務(wù)器套接字創(chuàng)建完畢");
                  while(true)
                  {
                     Socket socket=server.accept();
                      new Chat_Thread(socket).start();
                      bMan.add(socket);
                      bMan.sendClientInfo();
                  }
              }
              catch(Exception e)
              {
                  System.out.println(e);
              }
          }
          public static void main(String [] args)
          {
              Server server=new Server();
              server.startServer();
          }
          class Chat_Thread extends Thread
          {
              Socket socket;
              private BufferedReader reader;
              private PrintWriter writer;
              Chat_Thread(Socket socket)
              {
                  this.socket=socket;
              }
              public void run()
              {
                  try
                  {
                      reader=new BufferedReader(new InputStreamReader(socket.getInputStream()));
                      writer=new PrintWriter(socket.getOutputStream(),true);
                      String msg;
                      while((msg=reader.readLine())!=null)
                      {
                          System.out.println(msg);
                          bMan.sendToAll(msg);
                      }
                  }catch(Exception e){
                  }finally{
                      try{
                          bMan.remove(socket);
                         if(reader!=null)reader.close();
                         if(writer!=null)writer.close();
                         if(socket!=null)socket.close();
                         reader=null;writer=null;socket=null;
                         System.out.println("客戶機離開");
                        
                         bMan.sendClientInfo();
                      }catch(Exception e){}
                  }
              }
          }
          class BManager extends Vector
          {
              BManager(){}
              void add(Socket sock)
              {
                  super.add(sock);
              }
              void remove(Socket sock)
              {
                  super.remove(sock);
              }
              synchronized void sendToAll(String msg)
              {
                  PrintWriter writer=null;
                  Socket sock;
                  for(int i=0;i<size();i++)
                  {
                      sock=(Socket)elementAt(i);
                      try
                      {
                          writer=new PrintWriter(sock.getOutputStream(),true);
                      }catch(IOException ie){}
                      if(writer!=null)writer.println(msg);
                  }
              }
              synchronized void sendClientInfo()
              {
                  String info="當(dāng)前在線人數(shù):"+size();
                  System.out.println(info);
                  sendToAll(info);
              }
          }
      }

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多