<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-57  評論-202  文章-17  trackbacks-0
          下面是我的一個(gè)簡單的網(wǎng)絡(luò)服務(wù)器端的程序,程序的流程是監(jiān)聽ACCEPT事件,然后往客戶端輸出一串字符串。是不是很簡單。

    package sample.nio;

    import java.io.
    *;
    import java.net.
    *;
    import java.nio.channels.
    *;
    import java.util.
    *;

    /**
     * <p>Title: </p>
     *
     * <p>Description: </p>
     *
     * <p>Copyright: Copyright (c) 2005</p>
     *
     * <p>Company: </p>
     *
     * @author George Hill
     * @version 1.0
     
    */


    public class Server {

      
    private int port;

      
    public Server(int port) {
        
    this.port = port;
      }


      
    public void startServer() throws IOException {
        
    // 創(chuàng)建ServerSocketChannel并且綁定到指定的端口
        ServerSocketChannel ssc = ServerSocketChannel.open();
        InetSocketAddress address 
    = new InetSocketAddress(InetAddress.getLocalHost(), port);
        ssc.socket().bind(address);
        ssc.configureBlocking(
    false);

        
    // 創(chuàng)建Selector,并且注冊ACCEPT事件
        Selector selector = Selector.open();
        SelectionKey skey 
    = ssc.register(selector, SelectionKey.OP_ACCEPT);

        boolean stop 
    = false;
        
    int n = 0;

        System.
    out.println("Server Start");

        
    // 輪詢
        while (!stop) {
          
    // 獲取Selector返回的時(shí)間值
          n = selector.select();

          
    // 當(dāng)傳回的值大于0事,讀時(shí)間發(fā)生了
          if (n > 0{
            Set 
    set = selector.selectedKeys();
            Iterator it 
    = set.iterator();

            
    while (it.hasNext()) {
              skey 
    = (SelectionKey) it.next();
              it.remove();

              
    if (skey.isAcceptable()) {
                
    // 從channel()中取得剛剛注冊的Channel
                Socket socket = ((ServerSocketChannel) skey.channel()).accept().socket();

                PrintWriter writer 
    = new PrintWriter(socket.getOutputStream(), true);

                
    // 將"Hello, World"寫入
                writer.write("Hello, World!\n");

                
    // 睡眠3秒
                try {
                  Thread.sleep(
    3000);
                }
     catch (InterruptedException ie) {
                }


                
    // 將"EXIT"寫入Buffer
                writer.write("EXIT");

                
    // 退出程序
                writer.close();
                
    // stop = true;
              }

            }

          }

        }


        ssc.close();
        System.
    out.println("Server Stop");
      }


      
    public static void main(String[] args) throws Exception {
        Server server 
    = new Server(5000);
        server.startServer();
      }

    }

    posted on 2005-05-18 12:21 小米 閱讀(736) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 亚洲乱亚洲乱妇无码麻豆| 国产成人毛片亚洲精品| 女人18毛片免费观看| 亚洲国产精品自在线一区二区| 亚洲国产福利精品一区二区| 在免费jizzjizz在线播| 国产一级淫片免费播放电影| 亚洲熟妇无码八V在线播放| 日本视频一区在线观看免费| 亚洲精品国产电影| 亚洲黄色免费网站| 免费在线观看h片| 亚洲性色AV日韩在线观看| 浮力影院第一页小视频国产在线观看免费| 国产成人综合亚洲亚洲国产第一页| 久久久国产亚洲精品| 四虎成人免费观看在线网址| 香港一级毛片免费看| 国产麻豆视频免费观看| 亚洲乱亚洲乱妇无码麻豆| 日韩精品内射视频免费观看| 亚洲国产av一区二区三区丶| 在线不卡免费视频| 国产精品偷伦视频免费观看了| 久久精品国产亚洲香蕉| 真人做A免费观看| 亚洲视频精品在线观看| 最新中文字幕免费视频| 777亚洲精品乱码久久久久久 | 一级一黄在线观看视频免费| 亚洲精品国产精品乱码不99| 亚洲AV无码专区在线电影成人| 波多野结衣免费视频观看| A国产一区二区免费入口| 国产免费看插插插视频| 精品国产呦系列在线观看免费| 亚洲精品综合一二三区在线| 午夜寂寞在线一级观看免费| 99精品免费视品| 亚洲一本到无码av中文字幕| 国产成人亚洲综合无码|