<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
    主站蜘蛛池模板: 亚洲高清一区二区三区电影| 亚洲色成人中文字幕网站| 亚洲日韩中文字幕| 一级毛片免费观看不卡视频| 亚洲精品成人无限看| 一级毛片试看60分钟免费播放| 亚洲av无码乱码在线观看野外| 香港一级毛片免费看| 亚洲成片观看四虎永久| 91av免费在线视频| 亚洲av中文无码乱人伦在线播放| 精品国产免费一区二区三区| 国产av无码专区亚洲av果冻传媒| 中文字幕无码一区二区免费| 婷婷久久久亚洲欧洲日产国码AV | 无遮挡a级毛片免费看| 亚洲AV中文无码乱人伦| 伊人久久大香线蕉免费视频| 久久国产精品亚洲综合| 男女免费观看在线爽爽爽视频| 亚洲最大的成人网| 亚洲Av无码乱码在线观看性色| 最近免费中文字幕中文高清| 亚洲精品国产肉丝袜久久| 在线播放高清国语自产拍免费 | 一本色道久久88亚洲精品综合| 国产成人免费A在线视频| 你懂的免费在线观看| 亚洲18在线天美| 亚洲成A人片在线观看无码3D| a级毛片无码免费真人久久| 亚洲精品高清国产麻豆专区| 老司机永久免费网站在线观看| 国产精品午夜免费观看网站| 久久精品国产亚洲AV无码麻豆 | 女人18一级毛片免费观看| h视频在线观看免费| 亚洲乱码一二三四区麻豆| 亚洲国产精品无码久久九九| 99热这里有免费国产精品| 美女免费视频一区二区三区|