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

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

?? serverbox.java

?? j2me bluetooth 源碼jars
?? JAVA
字號:
//ServerBox.java

import java.io.DataInputStream; 
import java.io.DataOutputStream; 
import java.io.IOException; 

import java.util.Vector; 

import javax.bluetooth.DiscoveryAgent; 
import javax.bluetooth.LocalDevice; 
import javax.bluetooth.ServiceRecord; 
import javax.bluetooth.UUID; 
import javax.microedition.io.Connector; 
import javax.microedition.io.StreamConnection; 
import javax.microedition.io.StreamConnectionNotifier; 

import javax.microedition.lcdui.Command; 
import javax.microedition.lcdui.CommandListener; 
import javax.microedition.lcdui.Displayable; 

import javax.microedition.lcdui.TextBox; 
import javax.microedition.lcdui.TextField; 

/** 
* 服務端GUI 
* @author Jagie 
* 
* TODO To change the template for this generated type comment go to 
* Window - Preferences - Java - Code Style - Code Templates 
*/ 
public class ServerBox extends TextBox implements Runnable, CommandListener { 

     Command com_pub = new Command("開啟服務", Command.OK, 0); 

     Command com_cancel = new Command("終止服務", Command.CANCEL, 0); 

     Command com_back = new Command("返回", Command.BACK, 1); 

     LocalDevice localDevice; 

     StreamConnectionNotifier notifier; 

     ServiceRecord record; 

     boolean isClosed; 

     ClientProcessor processor; 

     StupidBTMIDlet midlet; 
     //響應服務的uuid 
     private static final UUID ECHO_SERVER_UUID = new UUID( 
             "F0E0D0C0B0A000908070605040302010", false); 

     public ServerBox(StupidBTMIDlet midlet) { 
         super(null, "", 500, TextField.ANY); 
         this.midlet = midlet; 
         this.addCommand(com_pub); 
         this.addCommand(com_back); 
         this.setCommandListener(this); 
     } 


     public void run() { 
         boolean isBTReady = false; 

         try { 

             localDevice = LocalDevice.getLocalDevice(); 

             if (!localDevice.setDiscoverable(DiscoveryAgent.GIAC)) { 
                 showInfo("無法設置設備發現模式"); 
                 return; 
             } 

             // prepare a URL to create a notifier 
             StringBuffer url = new StringBuffer("btspp://"); 

             // indicate this is a server 
             url.append("localhost").append(':'); 

             // add the UUID to identify this service 
             url.append(ECHO_SERVER_UUID.toString()); 

             // add the name for our service 
             url.append(";name=Echo Server"); 

             // request all of the client not to be authorized 
             // some devices fail on authorize=true 
             url.append(";authorize=false"); 

             // create notifier now 
             notifier = (StreamConnectionNotifier) Connector 
                     .open(url.toString()); 

             record = localDevice.getRecord(notifier); 

             // remember we've reached this point. 
             isBTReady = true; 
         } catch (Exception e) { 
             e.printStackTrace(); 
             
         } 

         // nothing to do if no bluetooth available 
         if (isBTReady) { 
             showInfo("初始化成功,等待連接"); 
             this.removeCommand(com_pub); 
             this.addCommand(com_cancel); 
         } else { 
             showInfo("初始化失敗,退出"); 
             return; 

         } 

         // 生成服務端服務線程對象 
         processor = new ClientProcessor(); 

         // ok, start accepting connections then 
         while (!isClosed) { 
             StreamConnection conn = null; 

             try { 
                 conn = notifier.acceptAndOpen(); 
             } catch (IOException e) { 
                 // wrong client or interrupted - continue anyway 
                 continue; 
             } 
             processor.addConnection(conn); 
         } 

     } 

     public void publish() { 
         isClosed = false; 
         this.setString(null); 
         new Thread(this).start(); 

     } 

     public void cancelService() { 
         isClosed = true; 
         showInfo("服務終止"); 
         this.removeCommand(com_cancel); 
         this.addCommand(com_pub); 
     } 

     /* 
      * (non-Javadoc) 
      *  
      * @see javax.microedition.lcdui.CommandListener#commandAction(javax.microedition.lcdui.Command, 
      *       javax.microedition.lcdui.Displayable) 
      */ 
     public void commandAction(Command arg0, Displayable arg1) { 
         if (arg0 == com_pub) { 
             //發布service 
             publish(); 
         } else if (arg0 == com_cancel) { 
             cancelService(); 
         } else { 
             cancelService(); 
             midlet.showMainMenu(); 
         } 

     } 
     
     /** 
      * 內部類,服務端服務線程。 
      * @author Jagie 
      * 
      * TODO To change the template for this generated type comment go to 
      * Window - Preferences - Java - Code Style - Code Templates 
      */ 
     private class ClientProcessor implements Runnable { 
         private Thread processorThread; 

         private Vector queue = new Vector(); 

         private boolean isOk = true; 

         ClientProcessor() { 
             processorThread = new Thread(this); 
             processorThread.start(); 
         } 

         public void run() { 
             while (!isClosed) { 

                 synchronized (this) { 
                     if (queue.size() == 0) { 
                         try { 
                             //阻塞,直到有新客戶連接 
                             wait(); 
                         } catch (InterruptedException e) { 

                         } 
                     } 
                 } 
                 
                 //處理連接隊列 

                 StreamConnection conn; 

                 synchronized (this) { 

                     if (isClosed) { 
                         return; 
                     } 
                     conn = (StreamConnection) queue.firstElement(); 
                     queue.removeElementAt(0); 
                     processConnection(conn); 
                 } 
             } 
         } 
         
         /** 
          * 往連接隊列添加新連接,同時喚醒處理線程 
          * @param conn 
          */ 

         void addConnection(StreamConnection conn) { 
             synchronized (this) { 
                 queue.addElement(conn); 
                 notify(); 
             } 
         } 

     } 

     /** 
      * 從StreamConnection讀取輸入 
      * @param conn 
      * @return 
      */ 
     private String readInputString(StreamConnection conn) { 
         String inputString = null; 

         try { 

             DataInputStream dis = conn.openDataInputStream(); 
             inputString = dis.readUTF(); 
             dis.close(); 
         } catch (Exception e) { 
             e.printStackTrace(); 
         } 
         return inputString; 
     } 
     
     /** 
      * debug 
      * @param s 
      */ 

     private void showInfo(String s) { 
         StringBuffer sb = new StringBuffer(this.getString()); 
         if (sb.length() > 0) { 
             sb.append("\n"); 
         } 

         sb.append(s); 
         this.setString(sb.toString()); 

     } 
     

     /** 
      * 處理客戶端連接 
      * @param conn 
      */     
     private void processConnection(StreamConnection conn) { 

         // 讀取輸入 
         String inputString = readInputString(conn); 
         //生成響應 
         String outputString = inputString.toUpperCase(); 
         //輸出響應 
         sendOutputData(outputString, conn); 

         try { 
             conn.close(); 
         } catch (IOException e) { 
         } // ignore 
         showInfo("客戶端輸入:" + inputString + ",已成功響應!"); 
     } 
     
     /** 
      * 輸出響應 
      * @param outputData 
      * @param conn 
      */ 

     private void sendOutputData(String outputData, StreamConnection conn) { 

         try { 
             DataOutputStream dos = conn.openDataOutputStream(); 
             dos.writeUTF(outputData); 
             dos.close(); 
         } catch (IOException e) { 
         } 

     } 
} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区偷拍精品| av在线播放不卡| 综合激情成人伊人| 欧美成人video| 91麻豆成人久久精品二区三区| 免播放器亚洲一区| 亚洲成人tv网| 亚洲一区二区成人在线观看| 久久精品亚洲乱码伦伦中文| 欧美精品一卡两卡| 欧美亚洲另类激情小说| 日韩一级免费观看| 欧美久久高跟鞋激| 欧美性色黄大片| 777精品伊人久久久久大香线蕉| 日本精品一区二区三区高清| 日本道色综合久久| 一本久道久久综合中文字幕 | 一区二区三区av电影| 亚洲欧美另类小说视频| 一区二区三区小说| 日日欢夜夜爽一区| 国产在线视视频有精品| 福利一区福利二区| 色拍拍在线精品视频8848| 欧美日本免费一区二区三区| 欧美区在线观看| 欧美videos中文字幕| 久久精品亚洲乱码伦伦中文| 亚洲人成网站色在线观看| 午夜精品福利在线| 国产九九视频一区二区三区| www.亚洲激情.com| 精品久久久久香蕉网| 中文字幕一区二区5566日韩| 亚洲成人在线观看视频| 福利一区二区在线观看| 91精品国产麻豆国产自产在线| 久久品道一品道久久精品| 亚洲人成小说网站色在线| 蜜臀av一区二区在线免费观看 | www亚洲一区| 图片区小说区区亚洲影院| 中文字幕在线不卡视频| 国产精品高清亚洲| 久草精品在线观看| 在线精品视频免费观看| 日韩精品在线一区二区| 亚洲国产视频a| 色综合av在线| 一区二区三区中文在线| 国产福利一区二区| 久久综合久久综合久久| 日本在线不卡一区| 在线观看三级视频欧美| 亚洲人成在线观看一区二区| 成人综合激情网| 另类调教123区| 欧美人成免费网站| 日韩中文字幕一区二区三区| 91精品福利在线| 一区二区三区四区精品在线视频| 成人开心网精品视频| 亚洲欧洲日韩在线| 欧美专区在线观看一区| 天堂va蜜桃一区二区三区漫画版 | 国产成人av一区二区| 久久久久久一二三区| 国产一区 二区 三区一级| 欧美xxxx在线观看| 国产一区二区三区综合| 国产精品毛片久久久久久久 | 亚洲成av人片在线观看无码| 91成人在线观看喷潮| 香蕉av福利精品导航| 精品国产不卡一区二区三区| eeuss鲁一区二区三区| 亚洲一区精品在线| 久久久久久亚洲综合| 欧美天天综合网| 丰满少妇在线播放bd日韩电影| 亚洲视频一二三区| 欧美成人伊人久久综合网| 国产91色综合久久免费分享| 一区二区三区毛片| 久久女同性恋中文字幕| 欧美日韩国产精品自在自线| 激情综合网av| 亚洲国产视频一区| 亚洲女性喷水在线观看一区| 欧美一区二区三区啪啪| 91福利精品第一导航| 国产在线精品国自产拍免费| 亚洲日本韩国一区| 中文字幕免费在线观看视频一区| 欧美精品自拍偷拍| 欧美三级中文字| 91论坛在线播放| 95精品视频在线| 91首页免费视频| av影院午夜一区| 日本视频免费一区| 欧美精品一区二区三| 色综合久久久久| 成人a免费在线看| 91首页免费视频| 日本黄色一区二区| 91国产免费看| 欧美精品v国产精品v日韩精品| 欧美体内she精视频| 欧美高清性hdvideosex| 欧美大片免费久久精品三p| 91精品国产综合久久久蜜臀图片| 欧美日韩国产欧美日美国产精品| 欧美丰满美乳xxx高潮www| 日韩一级在线观看| 国产日韩精品视频一区| **欧美大码日韩| 三级在线观看一区二区| 国产一区二区三区黄视频 | 精品国产a毛片| 中文字幕第一区第二区| 亚洲自拍与偷拍| 久久99久久99| 99久久婷婷国产综合精品| 欧美日韩国产一级片| 久久免费视频色| 亚洲va欧美va天堂v国产综合| 蜜桃传媒麻豆第一区在线观看| 国产成人在线观看免费网站| 欧美色国产精品| 国产亚洲美州欧州综合国| 亚洲18女电影在线观看| 国产乱淫av一区二区三区 | 一区二区三区毛片| 韩国成人在线视频| 欧美日韩性生活| 中文字幕精品一区| 久久不见久久见免费视频7| 欧美性猛交xxxx黑人交| 中文字幕制服丝袜成人av| 欧美aa在线视频| 欧美另类z0zxhd电影| 一区二区三区在线观看网站| 国产精品66部| 欧美精品一区二区蜜臀亚洲| 男女男精品视频网| 欧美久久久久久蜜桃| 水蜜桃久久夜色精品一区的特点| 不卡的av网站| 中文字幕在线视频一区| 国产盗摄精品一区二区三区在线 | 不卡一区二区三区四区| 欧美精品一区二区高清在线观看| 一区二区三区国产| 欧美日韩亚洲国产综合| 天天操天天综合网| 欧美日韩一区视频| 日韩国产欧美三级| 精品欧美一区二区三区精品久久| 蜜桃一区二区三区在线| 国产一区久久久| 色综合天天综合在线视频| 国产精品久久久久一区二区三区共| 国产白丝精品91爽爽久久| 日韩毛片精品高清免费| 91福利精品视频| 免费高清不卡av| 中文字幕国产一区| 欧美日韩在线直播| 免费一级片91| 五月天婷婷综合| 久久一日本道色综合| 91丨porny丨户外露出| 日韩精品五月天| 欧美高清在线精品一区| 欧美日韩在线一区二区| 粉嫩av亚洲一区二区图片| 亚洲一区电影777| 久久精品男人的天堂| 日本高清不卡一区| 国产一区二区精品久久91| 亚洲精品老司机| 亚洲国产经典视频| 日韩美女一区二区三区四区| 91视频在线观看| 国产成人在线色| 久久精品国产一区二区三| 亚洲老妇xxxxxx| 中文字幕免费在线观看视频一区| 欧美日韩极品在线观看一区| 99久久久精品| 国产成人综合网| 免费久久99精品国产| 亚洲电影你懂得| 一区二区欧美在线观看| 一区二区三区国产豹纹内裤在线| 国产精品久久久久久久久免费樱桃| 香蕉久久一区二区不卡无毒影院| 国产欧美一二三区|