• 大小: 19.98MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-13
  • 语言: Java
  • 标签: 源代码  彭晨阳  

资源简介

《Java实用系统开发指南》彭晨阳 编著 目录摘要 第一章 高性能聊天系统 第二章 简单的用户注册系统 第三章 Jive论坛系统 第四章 网站内容管理系统 第五章 订阅信息系统 第六章 用户安全管理系统 第七章 EJB方法调用框架 第八章 网上商店系统 (http://www.jdon.com/mybook/details.htm) --------- (1) chapter1,2...对应每一章内容,如文件夹中包含压缩文件,请先解压。 (2) 每一个chapter文件夹中所包含内容的具体使用,请参见其中的readme文件。

资源截图

代码片段和文件信息

package com.jdon.jserver.connector.tcp;

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

import com.jdon.util.Debug;

/**
 * TCP包接受核心功能类
 * 

Copyright: Jdon.com Copyright (c) 2003


 * 

Company: 上海解道计算机技术有限公司


 * @author banq
 * @version 1.0
 */
public class TCPReactor implements Runnable {

  private final static String module = TCPReactor.class.getName();

  private final Selector selector;
  private final ServerSocketChannel ssc;

  public TCPReactor(int port) throws IOException {

    selector = Selector.open();
    ssc = ServerSocketChannel.open();

    InetSocketAddress address =
        new InetSocketAddress(InetAddress.getLocalHost() port);
    ssc.socket().bind(address);
    Debug.logVerbose(“-->Start host:“ + InetAddress.getLocalHost() + “ port=“ +
                     port);

    ssc.configureBlocking(false);
    //向selector注册该channel
    SelectionKey sk = ssc.register(selector SelectionKey.OP_ACCEPT);

    //利用sk的attache功能绑定Acceptor 如果有事情,触发Acceptor
    sk.attach(new Acceptor(selector ssc));

    Debug.logVerbose(“-->TCP Server started“);
  }

  public void run() {

    while (true) {
      try {

        selector.select();
        Set selected = selector.selectedKeys();
        Iterator it = selected.iterator();
        //Selector如果发现channel有OP_ACCEPT或READ事件发生,下列遍历就会进行。
        while (it.hasNext())

          //来一个事件 第一次触发一个accepter线程
          //以后触发SocketReadHandler
          dispatch( (SelectionKey) (it.next()));
        selected.clear();
      } catch (IOException ex) {
        Debug.logError(“reactor error“ + ex module);
      }

    }
  }

  //运行Acceptor或SocketReadHandler
  private void dispatch(SelectionKey key) {
    Runnable r = (Runnable) (key.attachment());
    if (r != null) {

      r.run();
    }
  }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1582  2003-10-09 17:39  chapter2\mysql.sql

     文件         52  2004-03-19 13:58  chapter2\readme.txt

     文件    2621654  2004-03-19 13:57  chapter2\SimpleRegister.rar

     文件    5666037  2004-03-19 13:59  chapter3\jiveStudy.rar

     文件        154  2004-03-19 14:01  chapter3\readme.txt

     文件      84988  2004-03-19 14:03  chapter6\chapter6.rar

     文件         44  2004-03-19 14:04  chapter6\readme.txt

     文件         32  2004-03-19 14:05  chapter7\readme.txt

     文件       3603  2003-10-10 11:54  chapter7\7-9\HttpSessionProxy.java

     文件          0  2003-10-10 11:10  chapter7\7-8\WebInvocationHandler.java

     文件       1054  2003-10-10 11:09  chapter7\7-7\ServiceServerFactory.java

     文件       3423  2003-10-10 10:54  chapter7\7-6\InvokerServlet.java

     文件       5587  2003-10-10 10:50  chapter7\7-5\HttpConnectionhelper.java

     文件       1240  2003-10-10 10:46  chapter7\7-4\RemoteInvocationHandler.java

     文件       2510  2003-10-10 10:44  chapter7\7-3\ServiceFactoryImp.java

     文件       1381  2003-10-10 10:38  chapter7\7-2\ServiceClientFactory.java

     文件        723  2003-10-10 10:36  chapter7\7-1\EJBDefinition.java

     文件     163956  2004-03-19 13:57  chapter8\chapter8.rar

     文件        139  2004-03-19 13:57  chapter8\readme.txt

     文件       1008  2003-10-09 17:21  chapter1\1-9\HttpWrapFactory.java

     文件          0  2003-10-09 17:20  chapter1\1-9\WrapFactory.java

     文件        420  2003-10-09 17:14  chapter1\1-8\linkable.java

     文件       1104  2003-10-09 17:16  chapter1\1-8\objectType.java

     文件        823  2003-10-09 17:17  chapter1\1-8\QueueAddWorker.java

     文件        907  2003-10-09 17:18  chapter1\1-8\QueueTakeWorker.java

     文件        383  2003-10-09 17:15  chapter1\1-8\QueueWorker.java

     文件       1137  2003-10-09 17:15  chapter1\1-8\StringType.java

     文件       1331  2003-10-09 17:06  chapter1\1-7\MessageList.java

     文件       1605  2003-10-09 17:08  chapter1\1-7\MessageQueue.java

     文件       4262  2003-10-09 17:03  chapter1\1-6\TCPClient.java

............此处省略56个文件信息

评论

共有 条评论