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

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

?? chatclientframe.java

?? 此軟件為簡單的實時通信軟件,帶文件傳輸與語音功能,類似于QQ
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
          }
        }
       else if (keyword.equalsIgnoreCase("SOU")) {
          String broadcast = str.nextToken();
          souname= str.nextToken();
          String soukey=str.nextToken();
         if(soukey.equalsIgnoreCase("REQ")){
          parent.jTextArea1.append(souname + "請求語音聊天\n");
          souip=str.nextToken();
          jButton4.setEnabled(false);
          jButton6.setEnabled(true);
          jButton7.setEnabled(true);
          }
         else if(soukey.equalsIgnoreCase("CST")){
          parent.jTextArea1.append(souname + "同意語音聊天\n");
          souip=str.nextToken();
          try
           {
               Socket cli=new Socket(souip,5999);
               parent.cap=new Capture(cli);
               parent.cap.start();
         }
          catch(Exception ee){
           jTextArea1.append("Error:"+ee+"\n");
           }
          }
         else if(soukey.equalsIgnoreCase("REF")){
          parent.jTextArea1.append(souname + "拒絕語音聊天\n");
           jButton4.setEnabled(true);
           jButton8.setEnabled(false);
          }
          else if(soukey.equalsIgnoreCase("QUIT")){
            parent.jTextArea1.append("與"+souname + "語音聊天結束\n");
            jButton4.setEnabled(true);
            jButton8.setEnabled(false);
            try
             {
             if(player!=null){
               player.stop();
             }
            if(cap!=null){
             cap.stop();
             }
           }
           catch(Exception ee){
           jTextArea1.append("Error:"+ee+"\n");
           }
         }
        }
        else if (keyword.equalsIgnoreCase("FILE")) {
          String broadcast = str.nextToken();
          filefname= str.nextToken();
          String filekey=str.nextToken();
           if(filekey.equalsIgnoreCase("REQ")){
             jButton5.setEnabled(false);
             jButton9.setEnabled(true);
             jButton10.setEnabled(true);
             filesip=str.nextToken();
             filename=str.nextToken();
             parent.jTextArea1.append(filefname+"發送文件"+filename+"\n");
             }
           else if(filekey.equalsIgnoreCase("CST")){
            long len=Long.parseLong(str.nextToken());
             parent.jTextArea1.append(filefname + "同意接收文件"+filesname+"!\n");
             filesend=new filesend(filespath+filesname,len);
             StringBuffer fmessage=new StringBuffer("FILE:");
             fmessage.append(filefname+":");
             fmessage.append(listen.name);
             fmessage.append(":CSTB:");
             ps.println(fmessage);
             ps.flush();
             }
           else if(filekey.equalsIgnoreCase("CSTB")){
            filesave = new filesave("D:\\Temp\\", filesip,filelen);
            }
           else if(filekey.equalsIgnoreCase("REF")){
             jButton11.setEnabled(false);
             jButton5.setEnabled(true);
             parent.jTextArea1.append(filefname + "拒絕接收文件"+filesname+"!\n");
             }
            else if(filekey.equalsIgnoreCase("STOP")){
              jButton11.setEnabled(false);
              jButton5.setEnabled(true);
                if(filesend!=null) {
                  filesend.stopfs();
                  parent.jTextArea1.append(filefname+"停止文件接收!文件停止發送!\n");
                  parent.jLabel6.setText("文件狀態:沒有文件傳輸");
                  }
                else if(filesave!=null){
                  filesave.stopsf();
                  parent.jTextArea1.append(filefname+"停止文件發送!文件停止接收!\n");
                  parent.jLabel6.setText("文件狀態:沒有文件傳輸");
                }
                else
                  parent.jTextArea1.append("文件傳輸請求取消!\n");
              }
          }
        else if (keyword.equalsIgnoreCase("WELCOME")) {
          parent.jTextArea1.append(jTextField3.getText()+"登陸成功"+"\n");
          count++;
          parent.jLabel4.setText("目前用戶數:"+String.valueOf(count));
          parent.jLabel5.setText("已連接");
          parent.jList1.setModel(dld);
          dld.addElement(jTextField3.getText());
        }
        else if (keyword.equalsIgnoreCase("FAULTNAME")) {
          parent.jTextArea1.append("用戶名錯誤!\n");
        }
      }
    }
  }



  public void disconnect(){
          if(socket!=null){
                  try{
                          ps.println("QUIT:"+listen.name);
                          ps.flush();
                          socket.close();
                          count--;
                  }
                   catch(IOException e){
                  jTextArea1.append("Error:"+e);
              }
     }
  }

  void jButton3_actionPerformed(ActionEvent e) {
    disconnect();
    System.exit(0);
  }

  void this_windowClosing(WindowEvent e) {
    disconnect();
    System.exit(0);
  }

  void jButton4_actionPerformed(ActionEvent e) {
    if(jList1.getSelectedValue()!=null){
    jButton8.setEnabled(true);
    jButton4.setEnabled(false);
    jTextArea1.append("你請求與"+(String)jList1.getSelectedValue()+ "語音聊天\n");
    StringBuffer message=new StringBuffer("SOU:");
    message.append((String)jList1.getSelectedValue()+":");
    message.append(listen.name);
    message.append(":REQ:"+ip+":");
    ps.println(message);
    ps.flush();
    player=new Playback(6000);
    player.start();
    }
    else
   JOptionPane.showMessageDialog(null, "請選擇用戶!", "錯誤!",JOptionPane.INFORMATION_MESSAGE);
}

  void jButton6_actionPerformed(ActionEvent e) {
    jButton6.setEnabled(false);
    jButton7.setEnabled(false);
    jButton8.setEnabled(true);
    jTextArea1.append("你同意與"+souname+ "語音聊天\n");
    StringBuffer message=new StringBuffer("SOU:");
    message.append(souname+":");
    message.append(listen.name);
    message.append(":CST:"+ip+":");
    ps.println(message);
    ps.flush();
    try
    {
    Socket cli=new Socket(souip,6000);
    cap=new Capture(cli);
    cap.start();
    player=new Playback(5999);
    player.start();
    }
    catch(Exception ee){
    jTextArea1.append("Error:"+ee+"\n");
    }
  }

  void jButton7_actionPerformed(ActionEvent e) {
    jButton6.setEnabled(false);
    jButton7.setEnabled(false);
    jButton4.setEnabled(true);
    jTextArea1.append("你拒絕與"+souname+ "語音聊天\n");
    StringBuffer message=new StringBuffer("SOU:");
    message.append(souname+":");
    message.append(listen.name);
    message.append(":REF:");
    ps.println(message);
    ps.flush();
  }

  void jButton8_actionPerformed(ActionEvent e) {
    jButton4.setEnabled(true);
    jButton8.setEnabled(false);
    jTextArea1.append("與"+souname+"語音聊天結束\n");
    StringBuffer message=new StringBuffer("SOU:");
    message.append(souname+":");
    message.append(listen.name);
    message.append(":QUIT:");
    ps.println(message);
    ps.flush();
    try
   {
     if(player!=null){
     player.stop();
    }
    if(cap!=null){
     cap.stop();
    }
   }
   catch(Exception ee){
   jTextArea1.append("Error:"+ee+"\n");
   }
}

  void jButton5_actionPerformed(ActionEvent e) {
  if(jList1.getSelectedValue()!=null){
    FileDialog f1=new FileDialog(this,"打開",FileDialog.LOAD);
    f1.show();
    filesname=f1.getFile();
    filespath=f1.getDirectory();
   if(filesname!=null) {
   jButton5.setEnabled(false);
   jButton11.setEnabled(true);
   jTextArea1.append("你請求發送文件"+filesname+"給"+(String)jList1.getSelectedValue()+"!\n");
   StringBuffer message=new StringBuffer("FILE:");
   message.append((String)jList1.getSelectedValue()+":");
   message.append(listen.name);
   message.append(":REQ:"+ip+":"+filesname);
   ps.println(message);
   ps.flush();
   }
  }
  else
   JOptionPane.showMessageDialog(null, "請選擇用戶!", "錯誤!",JOptionPane.INFORMATION_MESSAGE);
}

  void jButton9_actionPerformed(ActionEvent e) {
       jButton9.setEnabled(false);
       jButton10.setEnabled(false);
       jButton11.setEnabled(true);
       jTextArea1.append("你同意接收文件"+filename+ "!\n");
       File myfile=new File("D:\\Temp\\"+filename);
      if(myfile.exists()){
       filelen=myfile.length();
       jTextArea1.append("文件"+filename+ "已存在,繼續接收!\n");
       }
       else {
       filelen=0;
       }
       StringBuffer message=new StringBuffer("FILE:");
       message.append(filefname+":");
       message.append(listen.name);
       message.append(":CST:"+filelen+":");
       ps.println(message);
       ps.flush();
  }

  void jButton10_actionPerformed(ActionEvent e) {
       jTextArea1.append("你拒絕接受文件"+filename+ "!\n");
       StringBuffer message=new StringBuffer("FILE:");
       message.append(filefname+":");
       message.append(listen.name);
       message.append(":REF:"+ip+":");
       ps.println(message);
       ps.flush();
  }

  void jButton11_actionPerformed(ActionEvent e) {
  jButton11.setEnabled(false);
  jButton5.setEnabled(true);
  if(filesend!=null) {
     filesend.stopfs();
      jTextArea1.append("你停止發送文件"+filesname+ "!\n");
      jLabel6.setText("文件狀態:沒有文件傳輸");
   }
   if(filesave!=null){
     filesave.stopsf();
      jTextArea1.append("你停止接收文件"+filename+ "!\n");
      jLabel6.setText("文件狀態:沒有文件傳輸");
   }
   StringBuffer message=new StringBuffer("FILE:");
   message.append(filefname+":");
   message.append(listen.name);
   message.append(":STOP:");
   ps.println(message);
   ps.flush();
  }


  class filesend {
      int port = 8821;
      long passedlen = 0;
      long  filelen;
       String filePath;
       Thread a;
       ServerSocket ss;
       Socket s;
       RandomAccessFile fis;
       DataOutputStream ps;

     public filesend(String file,long len){
      filePath=file;
      filelen=len;
      a=new watch();
      a.start();
      }
      void stopfs(){
       try{
        a.stop();
        ps.flush();
        fis.close();
        s.close();
        ss.close();
      }
      catch (Exception e) {
      }
     }
      class watch extends Thread {
        public void run() {
          try {
            ss = new ServerSocket(port);
            while (true) {
              // 選擇進行傳輸的文件
              File fi = new File(filePath);
              // public Socket accept() throws
              // IOException偵聽并接受到此套接字的連接。此方法在進行連接之前一直阻塞。

              s = ss.accept();
              jTextArea1.append("開始發送文件!\n");
              DataInputStream dis = new DataInputStream(new BufferedInputStream(s.getInputStream()));
              dis.readByte();

              fis = new RandomAccessFile(filePath, "rw");
              ps = new DataOutputStream(s.getOutputStream());
              //將文件名及長度傳給客戶端。
              ps.writeUTF(fi.getName());
              ps.flush();
              ps.writeLong( (long) fi.length());
              ps.flush();
            int bufferSize = 8192;
            byte[] buf = new byte[bufferSize];
            long lenl = (long) fi.length() / bufferSize;
              passedlen = filelen / bufferSize;
              fis.seek(filelen);
              while (true) {
                int read = 0;
                if (fis != null) {
                  read = fis.read(buf);
                }
                passedlen += 1;
                if (read == -1) {
                  break;
                }
                jLabel6.setText("文件狀態:文件發送了" + (passedlen * 100 / lenl) + "%");
                ps.write(buf);
              }
              ps.flush();
              // 注意關閉socket鏈接哦,不然客戶端會等待server的數據過來,
              // 直到socket超時,導致數據不完整。
              fis.close();
              s.close();
              ss.close();
               jTextArea1.append("文件傳輸完成!\n");
              jLabel6.setText("文件狀態:沒有文件傳輸");
              jButton11.setEnabled(false);
              jButton5.setEnabled(true);
             this.stop();
            }
          }
          catch (Exception e) {
            e.printStackTrace();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91精品久久久久久久网曝门| 国产农村妇女毛片精品久久麻豆 | 亚洲一区二区美女| 国产日韩欧美一区二区三区综合| 久久亚洲免费视频| 欧美www视频| 精品国产精品网麻豆系列 | 麻豆精品一区二区| 亚洲第一在线综合网站| 亚洲高清免费观看高清完整版在线观看| 国产精品欧美久久久久一区二区| 中文字幕不卡在线| 中文字幕亚洲综合久久菠萝蜜| 国产精品乱码妇女bbbb| 国产精品久久免费看| 国产精品久久久久久久久果冻传媒| 久久精品网站免费观看| 国产精品亲子乱子伦xxxx裸| 日韩一区中文字幕| 亚洲午夜电影网| 久久精品国产在热久久| 国产精品亚洲第一区在线暖暖韩国 | 久久99久国产精品黄毛片色诱| 美女性感视频久久| 国产精品小仙女| 91视视频在线观看入口直接观看www| 日本久久一区二区三区| 91精品国产综合久久婷婷香蕉| 2020国产精品| 亚洲精品成a人| 激情综合五月天| av网站一区二区三区| 欧美天天综合网| 欧美精品一区二区三区在线播放| 国产精品视频第一区| 亚洲国产婷婷综合在线精品| 韩国精品在线观看| 91色九色蝌蚪| 欧美va日韩va| 五月激情综合网| 国产成人精品aa毛片| 欧美日韩国产色站一区二区三区| 久久久久亚洲蜜桃| 亚洲中国最大av网站| 国产成人免费在线观看| 欧美日韩国产综合久久| 国产欧美一区二区三区在线看蜜臀| 亚洲专区一二三| 99久久婷婷国产综合精品| 欧美一级黄色录像| 亚洲综合999| 国产91综合网| 精品国产乱码久久久久久图片 | 欧美体内she精视频| 久久久久久久久久久99999| 亚洲精品中文在线影院| 国产91精品一区二区麻豆亚洲| 欧美福利电影网| 亚洲久草在线视频| 国产精品一级片在线观看| 日韩午夜中文字幕| 亚洲色图一区二区| 国产精品综合网| wwwwww.欧美系列| 老司机精品视频一区二区三区| 欧美色区777第一页| 久久久久久免费毛片精品| 午夜视频一区在线观看| 欧美伊人久久久久久午夜久久久久| 国产精品萝li| 国产69精品一区二区亚洲孕妇| 精品区一区二区| 麻豆精品新av中文字幕| 精品黑人一区二区三区久久| 蜜臀va亚洲va欧美va天堂| 欧美一区二区免费观在线| 亚洲一区二区三区四区在线 | 日韩一级片在线观看| 亚洲国产一区二区视频| 欧美日韩日本视频| 亚洲第一会所有码转帖| 欧美一区二区在线看| 三级不卡在线观看| 精品免费视频一区二区| 久久 天天综合| 久久蜜桃av一区精品变态类天堂 | 欧美视频一区二区在线观看| 亚洲午夜久久久久| 欧美一级理论性理论a| 美国毛片一区二区三区| 精品第一国产综合精品aⅴ| 精品一区二区三区av| 久久美女艺术照精彩视频福利播放| 国产盗摄女厕一区二区三区| 国产精品乱子久久久久| 成人精品视频一区| 亚洲综合色视频| 日韩天堂在线观看| 国产馆精品极品| 国产精品色一区二区三区| 欧洲国内综合视频| 免费精品视频最新在线| 久久久久久久精| 一本一道久久a久久精品| 亚洲国产va精品久久久不卡综合 | 国产一区二区三区在线观看免费 | 日韩二区在线观看| 久久久国产一区二区三区四区小说| 国产经典欧美精品| 一区二区激情小说| 欧美大尺度电影在线| 成人av网在线| 奇米精品一区二区三区在线观看一| 欧美r级电影在线观看| av电影一区二区| 麻豆精品视频在线观看| 成人欧美一区二区三区视频网页| 欧美一级在线观看| 色婷婷精品久久二区二区蜜臂av| 日本在线观看不卡视频| 亚洲美女在线国产| 久久久蜜臀国产一区二区| 欧美丝袜丝nylons| 成人激情电影免费在线观看| 日精品一区二区三区| 亚洲精品中文字幕在线观看| 久久精品视频一区| 制服.丝袜.亚洲.中文.综合| 99久久久久久99| 国产精品夜夜爽| 蜜臀国产一区二区三区在线播放| 一区二区三区四区激情| 亚洲国产精品成人综合色在线婷婷| 欧美日本韩国一区二区三区视频| 成人av午夜影院| 国产成人综合精品三级| 久热成人在线视频| 丝瓜av网站精品一区二区| 亚洲免费av网站| 中文字幕在线观看不卡| 国产日产欧美一区| 精品国产一区二区三区av性色| 欧美午夜一区二区| 91丝袜美腿高跟国产极品老师 | 国产精品欧美一级免费| 精品美女一区二区三区| 91精品在线免费观看| 欧美三区在线观看| 在线精品视频一区二区| 97久久精品人人做人人爽50路 | 亚洲柠檬福利资源导航| 国产精品久久久久久久久免费丝袜| 久久色.com| 久久久久久久久久久久久夜| 久久男人中文字幕资源站| 亚洲精品在线观看网站| 精品成人a区在线观看| 26uuu欧美日本| 亚洲精品一区二区三区影院 | 欧美体内she精视频| 在线亚洲精品福利网址导航| 色综合久久综合网97色综合| 色婷婷精品大视频在线蜜桃视频| 91碰在线视频| 色婷婷久久综合| 欧美精选午夜久久久乱码6080| 这里只有精品99re| 精品国产免费一区二区三区四区 | 在线视频国产一区| 欧美色国产精品| 日韩欧美视频在线| 日本一区二区免费在线观看视频 | 亚洲婷婷综合久久一本伊一区| 国产精品福利一区二区| 亚洲欧美电影一区二区| 一区二区三区蜜桃网| 毛片基地黄久久久久久天堂| 国内不卡的二区三区中文字幕 | 捆绑调教美女网站视频一区| 国产成人免费在线| www.欧美日韩| 欧美日本一区二区三区| 日韩欧美国产一区二区在线播放 | 亚洲人成电影网站色mp4| 亚洲一区二区三区视频在线播放| 水野朝阳av一区二区三区| 国产一区在线观看麻豆| 97久久人人超碰| 精品欧美黑人一区二区三区| 中文字幕亚洲区| 日本欧美在线看| 91农村精品一区二区在线| 日韩亚洲欧美成人一区| 亚洲人成网站影音先锋播放| 久久国产夜色精品鲁鲁99| 色美美综合视频| 久久久亚洲高清| 日韩国产精品久久久久久亚洲| 成人性生交大合| 欧美va在线播放|