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

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

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

    lizongbo 的 編程學(xué)習(xí)

    http://618119.com

    BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
      23 Posts :: 1 Stories :: 78 Comments :: 0 Trackbacks

    置頂隨筆 #

         摘要: 新注冊(cè)了個(gè)獨(dú)立域名,使用獨(dú)立的blog了。

    http://618119.com

    新的blog rss訂閱地址: http://feed.feedsky.com/lizongbo

    從最早的 http://blog.csdn.net/lizongbo,

    到 http://blog.donews.com/lizongbo

    再到http://www.tkk7.com/lizongbo

    現(xiàn)在終于擁有自己的域名和獨(dú)立的blog了。  閱讀全文
    posted @ 2007-10-16 09:46 lizongbo 的編程學(xué)習(xí)| 編輯 收藏

    在javaeye上看到關(guān)于sna的一些討論,于是對(duì)sna很有好奇心,但是google了半天也沒有搜索到j(luò)ava webapp中關(guān)于sna的開源項(xiàng)目。
    于是結(jié)合和同學(xué)交流之后,動(dòng)手寫了幾個(gè)java文件,通過過濾器對(duì)HttpSession的包裝,實(shí)現(xiàn)java web應(yīng)用的sna架構(gòu)。
    使用 snafilter之后,即使web服務(wù)器掛了,只要用戶還能訪問其它web服務(wù)器,則可以照常維持session。
    代碼很簡(jiǎn)單,但是想到sf上面沒有相關(guān)的東西,于是昨晚快睡覺的時(shí)候就去申請(qǐng)了一個(gè)項(xiàng)目,
    剛才登錄sf的時(shí)候,沒想到今天就已經(jīng)被批準(zhǔn)了:)

    我把代碼整理一下之后,就把它傳到sf上來:)

    這個(gè)項(xiàng)目的名稱是:snafilter。
    英文簡(jiǎn)介是:?snafilter is a J2EE servlet filter which wraped HttpSession to supports share nothing architecture 。
    這句說明是仿照另外一個(gè)開源過濾器(http://pjl-comp-filter.sourceforge.net/)改寫的。
    項(xiàng)目的地址是:
    http://sourceforge.net/projects/snafilter

    目前實(shí)現(xiàn)的snafilter是,sna會(huì)話id基于cookie,使用Memcached Server存放sna信息。
    通過snafilter可以避免session復(fù)制的消耗,而且不需要黏性會(huì)話的配置,就可以使得多個(gè)servlet容器(可以同時(shí)包含不同的servlet容器,比如tomcat和resin同時(shí)使用)可以結(jié)合在一起實(shí)現(xiàn)類似failover的效果。
    基本上可以隨時(shí)重起tomcat而不影響客戶端用戶:)

    在發(fā)布第一個(gè)版本之后,打算再加入其它的一些特性,歡迎大家交流意見。
    ps1:我不太會(huì)使用sf的一些功能,歡迎大家分享經(jīng)驗(yàn)。
    ps2:前段時(shí)間向tomcat反映的一個(gè)小意見,被新版本的tomcat采納了,很開心:)
    http://tomcat.apache.org/tomcat-5.5-doc/changelog.html
    39674: Support JRockit JVM in service.bat script, as suggested by lizongbo. (yoavs)
    http://issues.apache.org/bugzilla/show_bug.cgi?id=39674

    現(xiàn)在深刻體會(huì)到我的英語(yǔ)真爛,以后得多鍛煉英語(yǔ)了:)

    posted @ 2006-10-26 00:54 lizongbo 的編程學(xué)習(xí)| 編輯 收藏

    2007年10月16日 #

         摘要: 新注冊(cè)了個(gè)獨(dú)立域名,使用獨(dú)立的blog了。

    http://618119.com

    新的blog rss訂閱地址: http://feed.feedsky.com/lizongbo

    從最早的 http://blog.csdn.net/lizongbo,

    到 http://blog.donews.com/lizongbo

    再到http://www.tkk7.com/lizongbo

    現(xiàn)在終于擁有自己的域名和獨(dú)立的blog了。  閱讀全文
    posted @ 2007-10-16 09:46 lizongbo 的編程學(xué)習(xí)| 編輯 收藏

    2007年10月13日 #

    mysql 雙機(jī)熱備配置

    1.下載mysql-noinstall-5.0.45-win32.zip
    2.解壓到E:\mysql,然后將文件夾E:\mysql\mysql-noinstall-5.0.45-win32改為E:\mysql\master
    3.再解壓到E:\mysql,然后將文件夾E:\mysql\mysql-noinstall-5.0.45-win32改為E:\mysql\slave
    4.復(fù)制E:\mysql\master\my-small.ini為E:\mysql\master\my.ini
    編輯內(nèi)容:,增加log-bin和binlog-do-db參數(shù)
    示例如下:
    #skip-networking
    server-id = 1

    # Uncomment the following if you want to log updates
    #log-bin=mysql-bin

    log-bin=mysql-bin
    binlog-do-db = testdb1 #需同步數(shù)據(jù)庫(kù)  testdb1
    binlog-do-db = testdb2 #需同步數(shù)據(jù)庫(kù)  testdb2

    5.復(fù)制E:\mysql\slave\my-small.ini為E:\mysql\slave\my.ini
    編輯內(nèi)容:,修改端口,
    port  = 3310

    示例如下:

    [client]
    #password = your_password
    port  = 3310
    socket  = /tmp/mysql.sock

    # Here follows entries for some specific programs

    # The MySQL server
    [mysqld]
    port  = 3310
    socket  = /tmp/mysql.sock
    skip-locking
    key_buffer = 16K
    max_allowed_packet = 1M
    table_cache = 4
    sort_buffer_size = 64K
    read_buffer_size = 256K
    read_rnd_buffer_size = 256K
    net_buffer_length = 2K
    thread_stack = 64K


    #skip-networking
    server-id = 2

    # Uncomment the following if you want to log updates
    #log-bin=mysql-bin

    master-host=127.0.0.1
    master-user=root
    master-password=
    master-port=3306
    replicate-do-db=testdb1
    replicate-do-db=testdb2

    6.保存 E:\mysql\master\my.ini.和E:\mysql\slave\my.ini

    7.在命令行下運(yùn)行E:\mysql\master\bin\mysqld.exe,

    Microsoft Windows XP [版本 5.1.2600]
    (C) 版權(quán)所有 1985-2001 Microsoft Corp.

    E:\mysql\master\bin>mysqld

    8.再新開命令行,運(yùn)行E:\mysql\slave\bin\mysqld.exe

    Microsoft Windows XP [版本 5.1.2600]
    (C) 版權(quán)所有 1985-2001 Microsoft Corp.

    E:\mysql\slave\bin>mysqld
    071013 21:41:06 [Warning] The syntax for replication startup options is deprecat
    ed and will be removed in MySQL 5.2. Please use 'CHANGE MASTER' instead.

    9.用mysql 客戶端 HeidiSQL連接到 127.0.0.1的3306,創(chuàng)建數(shù)據(jù)庫(kù)testdb1和testdb2,
    并在數(shù)據(jù)庫(kù)中新建表,然后插入一些數(shù)據(jù).

    10.客戶端連接 到 127.0.0.1的3310,可以看見數(shù)據(jù)庫(kù)testdb1和testdb2,且數(shù)據(jù)庫(kù)中的數(shù)據(jù)與master的數(shù)據(jù)庫(kù)數(shù)據(jù)一致.

    11.t查看 E:\mysql\master\data\mysql-bin.000001 和E:\mysql\master\data\mysql-bin.index,可以看到被記錄的sql操作,

     




    posted @ 2007-10-13 21:53 lizongbo 的編程學(xué)習(xí)| 編輯 收藏


    4.4.6  Tomcat HTTPS配置
    在server.xml里配置:
    tomcat普通的https配置
        <Connector port="8443"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" disableUploadTimeout="true"
                   acceptCount="100" scheme="https" secure="true"
                   clientAuth="false" sslProtocol="TLS"
               keystoreFile="conf/.keystore"
               keystorePass="lizongbo">
        </Connector>


    Tomcat使用apr之后的ssl雙向認(rèn)證配置如下:

       <Connector port="8443" maxHttpHeaderSize="8192" protocol="HTTP/1.1"
                  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                  enableLookups="false" disableUploadTimeout="true"
                  acceptCount="100" scheme="https" secure="true"
                  clientAuth="true" <!--雙向驗(yàn)證-->
                  SSLEngine="on" bufferSize="8192"
                  SSLEnabled="true"
                  SSLProtocol="all"
                  SSLCipherSuite="ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL"
                  SSLCertificateFile="..\conf\ca\www.crt"
                  SSLCertificateKeyFile="..\conf\ca\www.key"
                  SSLCACertificateFile="..\conf\ca\ca.crt"
                  SSLCACertificatePath="..\conf\ca"
                  SSLVerifyDepth="15"
                  SSLVerifyClient="require"
                   />

     

    4.6.6  Squid HTTPS
    squid.conf中加上:
    https_port 3443 cert=D:/ca/www.crt key=D:/ca/www.key


    4.7.6  LightTPD HTTPS
    首先使用copy命令把 key和crt合并為一個(gè)文件,
    D:\ca>copy /b www.key+www.crt www.pem

    然后配置如下:
    $SERVER["socket"] == ":443" {
    ssl.engine = "enable"
    ssl.pemfile = "D:/ca/www.pem"
    ssl.ca-file = "D:/ca/ca.crt"
    server.name = "www"
    server.document-root = "D:/httpsdosc"
    server.errorlog = "httpserror.log"
    accesslog.filename = "httpsaccess.log"
    }
    (下面的雙向驗(yàn)證沒有測(cè)試是否可用)
    如需啟用雙向驗(yàn)證,則還需下面的配置參數(shù):
    ssl.verify-peer = "enable"
    ssl.verify-depth  = 1
    參考:http://trac.lighttpd.net/trac/ticket/921


     

    posted @ 2007-10-13 13:50 lizongbo 的編程學(xué)習(xí)| 編輯 收藏

    2007年10月10日 #

         摘要: atj2135自帶的avi轉(zhuǎn)換工具 AVIConverter,
    采用炬力ATJ2135主控芯片mp4,支持播放的avi格式為xvid編碼,分辨率為320*240。
    而我用網(wǎng)上的其它轉(zhuǎn)換工具進(jìn)行轉(zhuǎn)換得到的avi,用電腦里 播放器可以播放,而用2135的mp4無法播放,
    于是將2135自帶的轉(zhuǎn)換工具剝離出來了,放在網(wǎng)上,以作備份,方便avi轉(zhuǎn)換。
    工具名是:AVIConverter,下載地址為:
    http://www.tkk7.com/Files/lizongbo/2135AVIConverter.part1.rar
    http://www.tkk7.com/Files/lizongbo/2135AVIConverter.part2.rar

    Line:488
    Char:77
    Code:0
    Error:Automation 服務(wù)器不能創(chuàng)建對(duì)象
    網(wǎng)址:http://www.tkk7.com/lizongbo/admin/EditPosts.aspx
    無法發(fā)布正文,只好  閱讀全文
    posted @ 2007-10-10 09:26 lizongbo 的編程學(xué)習(xí)| 編輯 收藏

    2007年8月29日 #

    1.取出discuz的當(dāng)前文件夾路徑.
    2.根據(jù)php版本,對(duì)于小于4.1.0的php,設(shè)置相應(yīng)的變量.
    3.載入全局函數(shù)庫(kù) global.func.php
    4.判斷網(wǎng)頁(yè)機(jī)器人,對(duì)于不允許的機(jī)器人,返回403
    5.過濾cookie
    6.初始化變量
    $charset = $dbcharset = $forumfounders = $metakeywords = $extrahead = '';
    $plugins = $hooks = $admincp = array();
    7.載入全局配置 config.inc.php
    8.判斷 論壇防御級(jí)別 作處理.
    10.載入數(shù)據(jù)庫(kù)的class庫(kù).
    11.生成網(wǎng)站路徑 boardurl
    12.獲取真實(shí)ip到 onlineip
    13.正則解析ip
    14.加載論壇配置參數(shù)緩存 /forumdata/cache/cache_settings.php
    15.將settings中的變量轉(zhuǎn)換為全局變量.
    16.判斷是否啟用gzip壓縮.
    17.判斷l(xiāng)oadctrl負(fù)載參數(shù),對(duì)于非windows下超過負(fù)載的 情況,返回系統(tǒng)忙錯(cuò)誤.
    18.對(duì)于幾個(gè)固定的請(qǐng)求,加載已經(jīng)生成的緩存數(shù)據(jù).
    19.連接數(shù)據(jù)庫(kù).
    20.判斷用戶的安全提問
    21.

     

     

    附件下載流程 attachment.php

    1.處理 common.inc.php 流程
    2.檢查Referer頭信息
    3.檢查每日下載限制時(shí)間  periodscheck
    4.查詢附件信息檢查附件是否存在
    5.判斷是否允許下載
    6.判斷是否已經(jīng)購(gòu)買
    7.執(zhí)行購(gòu)買操作.
    8.執(zhí)行下載

    posted @ 2007-08-29 10:01 lizongbo 的編程學(xué)習(xí)| 編輯 收藏

    1.搭建php版運(yùn)行環(huán)境,包括數(shù)據(jù)庫(kù)和discuz php版本的運(yùn)行,用于觀察了解
    2.搭建java web應(yīng)用基礎(chǔ)庫(kù),
    3.對(duì)沒有主鍵的標(biāo)增加主鍵,用工具生成dao 層代碼.(注意jdbc的url里需要寫上charset)
    4.生成logic層代碼
    5.對(duì)應(yīng)每個(gè)控制層的php,轉(zhuǎn)換成對(duì)應(yīng)的spring mvc中的controller. 先從簡(jiǎn)單的faq.php做起
    action映射使用.php后綴.

    視圖層使用jsp+jstl.

     


     

    posted @ 2007-08-29 09:43 lizongbo 的編程學(xué)習(xí)| 編輯 收藏

    由于原有模板是以.htm方式存在的,
    在轉(zhuǎn)換成jsp方式時(shí),對(duì)其中很多通用的代碼,可以通過替換的方式直接轉(zhuǎn)換為jstl語(yǔ)法的.
    步驟如下:

    1.首先將所有的htm文件名替換成jsp,
    在命令行下運(yùn)行 rename *.htm *.jsp即可.

    2.將bbs\forumdata\cache\style_1.php中的css變量TABLEWIDTH等,
    替換成類似${crtStyles['TABLEWIDTH']}的jstl語(yǔ)法.
    全部只能手工替換

    3.將*.jsp中的{lang forum_favorite}等替換成類似 <fmt:message key="faq" bundle="${forum_favorite}"/>
    使用正則表達(dá)式進(jìn)行替換:
    editplus中的 查找內(nèi)容為: {lang (.+)},替換內(nèi)容為:<fmt:message key="faq" bundle="${\1}"/>
    Jbuilder中的查找內(nèi)容為 \{lang (.+)\},Pattern為:Regular Expressions,
    替換內(nèi)容為:(暫時(shí)未寫出來,打算寫程序進(jìn)行替換操作)

    用java程序替換的核心代碼為:

     //替換樣式變量
                 content = content.replaceAll("FORMHASH", "formhash");
                 //替換樣式變量 ${crtStyle['TABLEWIDTH']}
           content = content.replaceAll("\\{([A-Z0-9]+)\\}", "\\${crtStyle\\['$1'\\]}");
                 //替換國(guó)際化定義
                 //content = content.replaceAll("\\{lang (.+?)\\}",
                 //                             "<fmt:message key=\"$1\" bundle=\"\\$\\{templates\\}\"/>");
                 //對(duì)標(biāo)簽屬性里的值暫時(shí)不替換
                 content = content.replaceAll("([^\"])\\{lang (.+?)\\}",
           "$1<fmt:message key=\"$2\" bundle=\"\\$\\{templates\\}\"/>");

                 //替換單層的屬性訪問
                 content = content.replaceAll("\\$([a-z]+?)\\[([a-z]+?)\\]",
                                       "\\$\\{$1\\['$2'\\]\\}");
                 //替換標(biāo)題部分的聲明
                 content = content.replaceAll("\\{template header\\}",
                                       "<%@page pageEncoding=\"UTF-8\" " +
                                       "contentType=\"text/html;" +
                                       " charset=UTF-8\"%>\n"
                                       + "<%@include file=\"/WEB-INF/" +
                                       "inc/taglibs.jspf\"%>\n" +
                                       "<jsp:include flush=\"true\" " +
                                       "page=\"header.jsp\"/>\n");
                 ////替換底部部分的聲明
                 content = content.replaceAll("\\{template footer\\}",
                                       "\n<jsp:include flush=\"true\" " +
                                       "page=\"footer.jsp\"/>");

                 //替換其它引用聲明
                 content = content.replaceAll("\\{template (.+?)\\}",
                                       "\n<jsp:include flush=\"true\" " +
                                       "page=\"$1.jsp\"/>");
                 //替換url定義
           content = content.replaceAll("\\$indexname", "\\${settings.indexname}");
                 //替換網(wǎng)站名字
                 content = content.replaceAll("\\$bbname", "\\${settings.bbname}");
                 //替換導(dǎo)航標(biāo)簽
                 content = content.replaceAll("\\$navigation", "\\${navigation}");
                 //替換一些變量
                 //content = content.replaceAll("\\$pid", "\\${pid}");
           content = content.replaceAll("\\$([a-z_]+)(\"|<|\\))", "\\${$1}$2");

    posted @ 2007-08-29 09:42 lizongbo 的編程學(xué)習(xí)| 編輯 收藏


    前言:discuz是一個(gè)很流行的 php論壇,一時(shí)好奇,打算學(xué)習(xí)并將其功能用java實(shí)現(xiàn)。
    但是個(gè)人精力有限,只試著做了很小的一點(diǎn)功能。
    但是在此過程中總結(jié)了一些經(jīng)驗(yàn):

    需要轉(zhuǎn)換實(shí)現(xiàn)機(jī)制的模塊



    1.計(jì)劃任務(wù)
    由于php受語(yǔ)言限制,必須靠外界的訪問去觸發(fā)計(jì)劃任務(wù),而java則可以通過qutarz來做定時(shí)任務(wù).
    因此可以采取spring配置 qutarz的方式去設(shè)置定時(shí)任務(wù).

    2.風(fēng)格機(jī)制
    使用.jsp,使用jstl語(yǔ)法,允許用戶寫jstl
    依然按目錄存放到templates目錄下,每個(gè)風(fēng)格為一個(gè)文件夾.

    3.緩存機(jī)制
    使用oscache 標(biāo)簽 來緩存頁(yè)面的方式.

    4.特殊標(biāo)簽的解析 hidden標(biāo)簽,reply標(biāo)簽
    采取在顯示的時(shí)候,進(jìn)行 jsp:include page="/tag/hidden.jsp" 這樣的方式來實(shí)現(xiàn).

    5.日歷選擇框: 使用jscalendar

    6.頁(yè)面gzip壓縮,使用專門的gzip過濾器.

    7.全文檢索,使用compass.

    8.視圖層的模板.
    discuz 已經(jīng)使用了 mvc的模式,只是使用自己開發(fā)的模板技術(shù),
     D:\xampp\htdocs\bbs\templates每個(gè)文件夾為一個(gè)主題,每個(gè)主題內(nèi)對(duì)應(yīng)的是各種視圖的htm.
    因此在用java實(shí)現(xiàn)的時(shí)候,使用spring mvc ,
    視圖層使用jsp來展示.
    其中頁(yè)面的布局分為三段
    {template header} 是最上面的導(dǎo)航部分
    {template footer} 是最下方的版權(quán)申明等部分.
    中間部分為各具體模塊的視圖.
    后臺(tái)則是使用的固定框架,然后來合成內(nèi)容的.

    9.國(guó)際化支持
    discuz使用的是 .lang.php定義數(shù)組的方式實(shí)現(xiàn)的,而且一次只支持一種語(yǔ)言
    而java開發(fā)則使用I18N方式.多種語(yǔ)言均使用同一個(gè)系統(tǒng).

     

     1.php的array功能非常強(qiáng)大,而java中只能用map和list結(jié)合起來處理.
    2.在一個(gè)http請(qǐng)求中php的變量幾乎都是全局生效,而jstl中,則可以放到requestScope中.

    1.discuz的有些表的主鍵不是自動(dòng)增長(zhǎng)的,因此不能夠生成@GeneratedValue(strategy = GenerationType.AUTO)的注釋.
    這些表有: new String[] {
          "validating", "trades", "relatedthreads", "pushedthreads", "polls",
          "onlinetime", "memberspaces", "memberfields", "forumfields",
          "admingroups", "adminactions", "activities"}

    2.mysql的hibernate dao單元測(cè)試中,insert是無法回滾的,而delete卻可以不操作數(shù)據(jù)庫(kù),
    因此crud單元測(cè)試的時(shí)候,導(dǎo)致不停的插入數(shù)據(jù)卻沒有刪除數(shù)據(jù).
    解決辦法,在 crud 測(cè)試方法的最后加上一行代碼:  this.setComplete();

    3.mysql的jdbc需要幾個(gè)特殊設(shè)置
    a.字符編碼集必須指定.
    b.對(duì)于"0000-00-00" 這樣的默認(rèn)日期,在轉(zhuǎn)化成java.sql.Date的時(shí)候會(huì)出錯(cuò),因此需要加上個(gè)zeroDateTimeBehavior屬性.

    datasource.url=jdbc:mysql://localhost:3306/discuz?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull

    4.mysql的jdbc驅(qū)動(dòng)存在bug :  http://bugs.mysql.com/bug.php?id=22215

    在usergroups 表中, readaccess字段是 tinyint(3)類型,而有值為200的,mysql的jdbc就會(huì)報(bào)錯(cuò),說數(shù)字越界了.

    java.sql.SQLException: '200' in column '1' is outside valid range for the
    datatype TINYINT.

    暫時(shí)無解決辦法,采取修改200為20回避之.
    (update:后來使用Short代替byte類型)
    discuz 已經(jīng)使用了 mvc的模式,只是使用自己開發(fā)的模板技術(shù),
     D:\xampp\htdocs\bbs\templates每個(gè)文件夾為一個(gè)主題,每個(gè)主題內(nèi)對(duì)應(yīng)的是各種視圖的htm.

    因此在用java實(shí)現(xiàn)的時(shí)候,使用spring mvc ,

    視圖層使用jspx來展示.


    其中頁(yè)面的布局分為三段

    {template header} 是最上面的導(dǎo)航部分

    {template footer} 是最下方的版權(quán)申明等部分.

    中間部分為各具體模塊的視圖.

     

    后臺(tái)則是使用的固定框架,然后來合成內(nèi)容的.



     

    posted @ 2007-08-29 09:41 lizongbo 的編程學(xué)習(xí)| 編輯 收藏

    2007年1月22日 #


    a.?? ?安裝vmware5.5。

    b.?? ?安裝trixbox2.0
    1.?? ?下載trixbox22.0的vmware鏡像文件,下載地址為:
    http://jaist.dl.sourceforge.net/sourceforge/asteriskathome/trixbox-2.0-vmware.zip
    2.?? ?解壓 trixbox-2.0-vmware.zip 到E:\trixbox 2.0。
    3.?? ?啟動(dòng)VMware,選擇“Open Existing VM or Term”,
    ?
    4.?? ?然后選擇打開 E:\trixbox 2.0\Red Hat Enterprise Linux 4.vmx.
    ?
    5.?? ?啟動(dòng)虛擬機(jī).
    ?
    6.?? ?創(chuàng)建uuid,點(diǎn)“OK”進(jìn)行確認(rèn)。
    ?
    7.?? ?點(diǎn)“OK”進(jìn)行確認(rèn)。(也可以先修改虛擬機(jī)的光驅(qū)設(shè)置為正確的配置)
    ?
    8.?? ?鼠標(biāo)點(diǎn)進(jìn)虛擬機(jī),敲回車立即進(jìn)入Linux(或者等系統(tǒng)自己?jiǎn)?dòng))
    ?
    9.?? ?敲回車,準(zhǔn)備修改硬件配置
    ?
    10.?? ?移除原有的網(wǎng)絡(luò)配置,選擇“Remove Configuration”,然后敲回車.
    ?
    11.?? ?新的網(wǎng)絡(luò)配置。選擇“Configure”,然后回車
    ?
    12.?? ?配置ip地址,敲空格 選中“Use dynamic IP configuration (BOOTP/DHCP)”
    ?
    13.?? ?然后按 tab鍵 切換到“OK”,敲回車進(jìn)行確認(rèn)。
    ?
    14.?? ?登錄linxu,用戶名是root,密碼是password。
    ?
    15.?? ?登錄成功。屏幕上顯示配置trixbox的url.
    ?
    16.?? ?用hostname查看主機(jī)名,用ifconfig查看ip信息。
    ?

    c.?? ?配置trixbox.
    1.?? ?在瀏覽器中打開: http://10.108.20.188/
    然后點(diǎn)右上角“switch”切換到 Admin Mode
    ?
    2.?? ?輸入登錄信息,用戶名是maint,密碼是password
    ?
    3.?? ?進(jìn)入freepbx配置界面。
    ?
    4.?? ?也可以從最上方一排菜單里轉(zhuǎn)到freePBX配置, Asterisk? --> freePBX
    ?
    5.?? ?點(diǎn)“Setup”.
    ?
    6.?? ?進(jìn)入配置界面,再點(diǎn)左邊的“Extensions”,進(jìn)入分機(jī)號(hào)碼配置界面。
    ?
    7.?? ?Device使用默認(rèn)選項(xiàng)“Generic SIP Device ” ,然后 點(diǎn)“submit”.
    ?
    8.?? ?填寫分機(jī)號(hào),和用戶名字。這里填寫的分機(jī)號(hào)是300,名字也填的300。
    ?
    9.?? ?拉動(dòng)表單到下方,填寫密碼,也就是 secret的值,這里也填的300。
    ?
    10.?? ?再拉動(dòng)表單到最下方,點(diǎn)“Submite”進(jìn)行提交。
    ?
    11.?? ?分機(jī)添加成功,用同樣方法,再添加”301”
    ?
    12.?? ?點(diǎn)左上方的紅色“Apply Configuration Changes”,提交更改。
    ?

    13.?? ?確認(rèn)。
    ?

    14.?? ?到這里為止,服務(wù)端的分機(jī)號(hào)碼配置成功了。

    d.?? ?配置X-Lite 3.0
    1.?? ?X-Lite 的下載地址為:
    https://s3.amazonaws.com/0W6GQ7E1ZFEHHTW1F082/downloads/X-Lite_Win32_1006e_34025.exe
    2.?? ?運(yùn)行X-Lite_Win32_1006e_34025.exe進(jìn)行安裝。
    3.?? ?運(yùn)行X-Lite。
    ?
    4.?? ? 在主界面上點(diǎn)右鍵,從菜單中選擇“SIP Accounts Settiings”,進(jìn)入賬號(hào)配置界面
    ?
    5.?? ?點(diǎn)“Add”添加賬號(hào),Display Name為:300,User name為:300,Password為:300,Authorization user name為:300,Domain為:10.108.20.188。鉤上“Register with domain and receive incoming calls”, Send outbound via選擇“domain”.然后點(diǎn)“確定”.
    ?
    6.?? ?該賬號(hào)默認(rèn)為 Enabled。,點(diǎn)“Close”。
    ?

    7.?? ?300登錄成功。
    ?

    8.?? ?打電話給自己。輸入號(hào)碼:300,然后撥號(hào)。
    ?
    9.?? ?收到呼叫。
    ?

    10.?? ?linux控制臺(tái)輸出日志:
    ?

    11.?? ?web界面查詢呼叫日志。


    e.?? ?安裝Asterisk-IM 插件
    1.下載最新的插件asterisk-im 1.2 beta,
    http://www.igniterealtime.org/projects/wildfire/plugins-beta/asterisk-im.jar
    2. 安裝插件,但是由于我用的數(shù)據(jù)庫(kù)是oracle,而插件中的腳本只更新了mysql的
    因此需要手工用mysql的腳本改成oracle的來執(zhí)行,主要是將字段類型bigint改成number.
    再?gòu)?fù)制asterisk-im.jar到D:\xmpp\wildfire\plugins下面(光這一點(diǎn)就折騰了很久)。
    3.啟動(dòng)wildfire。
    f.?? ?配置Asterisk-IM 參數(shù)信息
    先在trixbox中增加管理賬號(hào):Config Edit ,編輯 manager.conf
    增加:
    [wildfire]
    secret=mypass
    allow=10.108.20.1.1/255.255.0.0
    read = system,call,log,verbose,command,agent,user
    write = system,call,log,verbose,command,agent,user

    wildfire中進(jìn)行配置.
    2.打開http://10.108.20.198:9090/plugins/asterisk-im/phone-settings.jsp
    Add Server,
    Server Name 必須是:? asterisk1.local (也就是vmware鏡像的虛擬機(jī)里的主機(jī)名.)
    Server Address為: 10.108.20.188
    Port為: 5038
    Username:wildfire
    Password:mypass

    添加成功之后,Configure Phone Manager
    ?Drop-down device selection:? ??? ?鉤上? Yes
    ?Asterisk Context為: from-internal
    ?然后點(diǎn) save.
    圖標(biāo)綠色,表示連接成功了.
    然后到 Phone Mappings 中映射電話.

    在xmpp客戶端Spark中 call對(duì)方即可.或者直接輸入電話號(hào)碼進(jìn)行呼叫.


    posted @ 2007-01-22 10:30 lizongbo 的編程學(xué)習(xí)| 編輯 收藏

    2007年1月17日 #

    在 PLSQL Developer 中進(jìn)行文本導(dǎo)入的操作步驟。

    主菜單--〉工具-->文本導(dǎo)入器。
    選擇文本文件,進(jìn)行相關(guān)配置,可以生成一個(gè)導(dǎo)入數(shù)據(jù)的配置文件。
    保存為 xxx.def
    樣本為:

    [General]
    ID=Import Definition
    Version=1
    Header=False
    SingleLineRecord=True
    QuoteChar="
    TableOwner=SMK
    OracleTable=ZNEW20070109
    OverwriteDuplicates=True
    CommitCount=100
    EmptyTable=False

    [ODBC]
    DSN=
    UserName=
    Command=
    Kind=0

    [Fields]
    Field=0
    FieldStart=0
    FieldStartValue=0
    FieldEnd=2
    FieldEndValue=,
    OracleSQL=
    OracleField=FTRANSACTIONID (VARCHAR2)
    OracleType=0
    ODBCField=
    ODBCFieldNo=0
    ODBCType=0
    ODBCCType=0
    ODBCLength=0
    OracleParamNo=0

    Field=1
    FieldStart=0
    FieldStartValue=0
    FieldEnd=2
    FieldEndValue=,
    OracleSQL=
    OracleField=FFEETERMINAL (VARCHAR2)
    OracleType=0
    ODBCField=
    ODBCFieldNo=0
    ODBCType=0
    ODBCCType=0
    ODBCLength=0
    OracleParamNo=0

    Field=2
    FieldStart=0
    FieldStartValue=0
    FieldEnd=2
    FieldEndValue=,
    OracleSQL=
    OracleField=FDESTADDR (VARCHAR2)
    OracleType=0
    ODBCField=
    ODBCFieldNo=0
    ODBCType=0
    ODBCCType=0
    ODBCLength=0
    OracleParamNo=0

    Field=3
    FieldStart=0
    FieldStartValue=0
    FieldEnd=2
    FieldEndValue=,
    OracleSQL=to_date('#', 'yyMMddHH24MISS')
    OracleField=FSUBMITTIME (DATE)
    OracleType=2
    ODBCField=
    ODBCFieldNo=0
    ODBCType=0
    ODBCCType=0
    ODBCLength=0
    OracleParamNo=0

    Field=4
    FieldStart=0
    FieldStartValue=0
    FieldEnd=2
    FieldEndValue=,
    OracleSQL=to_date('#', 'yyMMddHH24MISS')
    OracleField=FDELIVERTIME (DATE)
    OracleType=2
    ODBCField=
    ODBCFieldNo=0
    ODBCType=0
    ODBCCType=0
    ODBCLength=0
    OracleParamNo=0

    posted @ 2007-01-17 12:44 lizongbo 的編程學(xué)習(xí)| 編輯 收藏

    僅列出標(biāo)題  下一頁(yè)
    主站蜘蛛池模板: 成人免费无遮挡无码黄漫视频| 亚洲欧洲精品成人久久奇米网| 亚洲码欧美码一区二区三区| 久久激情亚洲精品无码?V| 99热这里只有精品免费播放| 久久亚洲精品国产精品婷婷| 最新亚洲成av人免费看| 国产美女在线精品免费观看| 中文在线日本免费永久18近| 亚洲精品午夜国产va久久| 国产午夜亚洲精品午夜鲁丝片| 全免费毛片在线播放| 久久嫩草影院免费看夜色| 亚洲AV日韩综合一区尤物| 国产亚洲婷婷香蕉久久精品| 在线观看亚洲免费| 最近2019免费中文字幕视频三| 美女黄频a美女大全免费皮| 亚洲美女视频一区| 国产亚洲精品久久久久秋霞 | 亚洲人成在线免费观看| 日韩一区二区三区免费播放| 国产成人精品日本亚洲18图| 日本亚洲欧洲免费天堂午夜看片女人员| 免费看美女让人桶尿口| a拍拍男女免费看全片| 免费网站观看WWW在线观看| 亚洲国产综合AV在线观看| 久久亚洲中文字幕精品有坂深雪| 亚洲AⅤ无码一区二区三区在线| 91免费国产在线观看| 今天免费中文字幕视频| 理论片在线观看免费| 亚洲天然素人无码专区| 亚洲视频在线观看不卡| 亚洲国产另类久久久精品| 亚洲欧洲久久久精品| 亚洲福利视频一区二区| 四虎影视永久免费观看| 国产成人免费A在线视频| 男人的好看免费观看在线视频|