<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 小米 閱讀(736) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 在线观看免费无码专区| 亚洲精品乱码久久久久久V| 成人av片无码免费天天看| www.亚洲色图| 一区二区免费电影| 亚洲精品99久久久久中文字幕| 久久久久久亚洲精品无码| 青青草国产免费久久久下载| 亚洲一线产区二线产区区| 天天天欲色欲色WWW免费| 亚洲精品久久无码av片俺去也| 国产精品色午夜视频免费看| 婷婷亚洲综合五月天小说在线| 免费A级毛片无码A∨男男| 国产区图片区小说区亚洲区| 亚洲国产精品无码久久久久久曰 | 亚洲国产精品无码久久一区二区 | 久久亚洲AV成人无码国产电影 | 国产yw855.c免费视频| 黄网站色视频免费观看45分钟| 免费人妻无码不卡中文字幕18禁| 五月天国产成人AV免费观看| 亚洲色偷偷综合亚洲AVYP| 99免费观看视频| 一本色道久久综合亚洲精品蜜桃冫| 蜜臀91精品国产免费观看| 黄色一级视频免费| 久久精品亚洲中文字幕无码网站| 免费观看美女用震蛋喷水的视频| 亚洲熟女综合一区二区三区| 亚洲成a人在线看天堂无码| 性xxxx视频免费播放直播| 一区二区亚洲精品精华液| 激情综合色五月丁香六月亚洲| 久久精品中文字幕免费| 亚洲中文字幕无码一去台湾| 亚洲狠狠爱综合影院婷婷| 18女人腿打开无遮掩免费| 亚洲av无码成人精品区一本二本 | 亚洲国产精品人久久| 在线观看特色大片免费视频|