<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
          下面是我的一個簡單的網絡服務器端的程序,程序的流程是監聽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 {
        
    // 創建ServerSocketChannel并且綁定到指定的端口
        ServerSocketChannel ssc = ServerSocketChannel.open();
        InetSocketAddress address 
    = new InetSocketAddress(InetAddress.getLocalHost(), port);
        ssc.socket().bind(address);
        ssc.configureBlocking(
    false);

        
    // 創建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返回的時間值
          n = selector.select();

          
    // 當傳回的值大于0事,讀時間發生了
          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 小米 閱讀(727) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 国产伦精品一区二区三区免费迷 | 亚洲乱码一二三四五六区| 亚洲国产精品嫩草影院久久 | 亚洲精品夜夜夜妓女网| 国产美女无遮挡免费视频网站| 少妇无码一区二区三区免费| jizz免费在线观看| 阿v免费在线观看| 亚洲欧美综合精品成人导航| 亚洲性色高清完整版在线观看| 亚洲av无码成人黄网站在线观看| 亚洲欧洲久久久精品| 四虎影视在线永久免费观看| 成人黄软件网18免费下载成人黄18免费视频| 四只虎免费永久观看| 免费中文熟妇在线影片| 91免费国产自产地址入| 久久成人a毛片免费观看网站| 中文字幕在线免费播放| 一级特黄录像免费播放中文版| 国产亚洲蜜芽精品久久| 亚洲精品无码国产片| 亚洲码和欧洲码一码二码三码 | 成人免费看黄20分钟| 在线观看成人免费视频不卡| 99在线热视频只有精品免费| 一级毛片不卡片免费观看| 久久狠狠躁免费观看2020| 免费无码H肉动漫在线观看麻豆| A毛片毛片看免费| a毛片在线免费观看| 在线观看免费无码专区| 在线播放免费人成毛片乱码| 四虎影视成人永久免费观看视频| 日本免费中文视频| 午夜免费福利小电影| 777爽死你无码免费看一二区| 亚洲一区在线免费观看| 成人AV免费网址在线观看| 成人免费无毒在线观看网站 | 久久亚洲色WWW成人欧美|