??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品国产亚洲av天美18,亚洲成a人片在线观,中文字幕乱码亚洲精品一区http://m.tkk7.com/pandawang/category/8825.htmlzh-cnMon, 21 May 2007 12:25:43 GMTMon, 21 May 2007 12:25:43 GMT60JXTA学习W记Q?Q——JXTA的各U概?/title><link>http://m.tkk7.com/pandawang/archive/2007/05/19/118606.html</link><dc:creator>Long Long Ago</dc:creator><author>Long Long Ago</author><pubDate>Sat, 19 May 2007 15:11:00 GMT</pubDate><guid>http://m.tkk7.com/pandawang/archive/2007/05/19/118606.html</guid><wfw:comment>http://m.tkk7.com/pandawang/comments/118606.html</wfw:comment><comments>http://m.tkk7.com/pandawang/archive/2007/05/19/118606.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/pandawang/comments/commentRss/118606.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/pandawang/services/trackbacks/118606.html</trackback:ping><description><![CDATA[本文主要介绍了JXTA中的各种概念?br>1.<span style="font-weight: bold;">Peer?/span>一个peer是实现了一个或多个JXTA协议的网l设备。比如传感器Q电话, PDAQPCQ服务器Q巨型机{等。每一个peer与其他peer都是独立操作q且是异步的。有peer ID来唯一标识一个peer。peer使用JXTA协议公开一个或多个|络接口Qnetwork interfaceQ,每一个公开的接口都被广告ؓ一个peer端点(peer endpoint),q个peer端点唯一标识了一个网l接口。peer之间不需要有直接的点对点的网l连接。可以用中间的peer作ؓpeer的消息\由,由于硬件网l或者网l配|(NATsQ防火墙或者代理)而造成的两个通信peerq行互联。peer通常被设计成|络中自然地互相发现Q从而构成暂时的或持久的关系成ؓpeerl(peer gorupQ?br>2.<span style="font-weight: bold;">Peer Group</span>.一个peerl是一个peer的集合,q些peer都有一l相同的服务。peer自组l的加入到peerl中Qƈ通过一个唯一的peerlid来区别这些peerl。每一个peerl都可以建立一个属于自qmemebership policyQ从M人可以加入到最严格的安全验证以及受保护方式Q需要完全的认证书来加入Q。一个peer可以同时属于多于一个peerl。默认地Q第一个peerl被实例的组是Net Peer Group。所有的peer都属于Net Peer Group。peer可以选择加入其他的peer group。JXTA协议描述了peer如何公开Q发玎ͼ加入以及监控peerl?br>     如下几点说明了创建peerl的目的?br> <ol> <li>建立安全的环境。peerl可以创Z个本地控制域Q在q个域中使用一个特定的安全{略。这个安全策略可以简单的只是一个明文的帐号 /口o交换Q也可以像PKI一h熟。peerl界定认证的成员讉K和公开受保护的内容QcontentQ。peerl在建立了一个逻辑上的区域Q从而对讉Kpeerl的资源q行界定?/li> <li>创徏一个范围环境。peerl裕兴徏立一个本地的专用域。比如,peer可以l织h实现一个文档共享网l或者一个CPU׃n|络?peerl提供细分网l成抽象的区域来提供内在范围机制Qimplicit scoping mechanismQ。比如,当搜索一个组内容的时Qpeerl可以界定定义一个搜索范围?/li> <li>创徏一个监视环境。peerl允怸个peerZM目的ȝ视一lpeerQ比如,心蟩Qtraffic introspection或者accountabilityQ。peerl也可以构徏一个父子层ơ结构,其中M一个组都有一个唯一的父二Ӏ查询请求能偶在q个l中传播。对于这个组中的q告也可以在其父l中公开Q当然也包裹q个l本w?/li> </ol> peerl提供了一l服务成为peerl服务。在JXTA中敌营了一个核心peerl服务集合。两个peer如果要通过一个服务进行交互,他们配需位于同一个peer中?br>    核心的组服务有如下:<br> <ol> <li>发现服务QDiscovery ServiceQ。本服务被组中的peer用来查询perl资源,比如peerQpeerl,通道和服务等?/li> <li>成员关系服务QMembership ServiceQ。本服务被当前成员用来拒l或接受一个新的组成员应用。一个peer惌加入C个group前,首先要确定一个当前的成员Qƈh加入。当前成员的集合可以拒绝或者接受某个想加入的应用(applicationQ。本服务可能会发起一个所有peer或者指定组代表的一ơ投来军_是否接受或者聚居新的成员应用?/li> <li>讉K服务QAccess ServiceQ。用访问服务可以用来验证一个peer对另一个peer的请求(requestQ。如果访问被允许Q那么接受请求的peer会提供给hpeer关于该请求所要知道的信息的信d相关信息。(注意Q在peerl中Q不是所有的行ؓQactionQ都需要通过讉K服务的检查,只有那些在某些peer中被限制的行为在需要调用时Q才被检查。)</li> <li>道服务QPipe ServiceQ。本服务用于在peerl成员间的链接管道的建立和管理?/li> <li>Resolver服务。本服务用来发送一般的查询h到其他的peer。peer可以定义和交换请求以便发CQ何需要的信息Q比如一个服务的状态或者一个管道端点的信息。)</li> <li>监视服务(Monitoring Service)。本服务用来让一个peer监视本组中的其他成员服务?/li> </ol>     不是所有上面提到的服务都必要被每个peer实现。一个peerl可以自q实现那些它认为有用的服务Qƈ可以依赖于默认的Net Peer Group来提供非关键核心服务的一般实现?br>3.<span style="font-weight: bold;">Network Services</span>。peer之间可以协作q信以发布,发现和启动网l服务。peer可以发布多个服务。peer通过Peer Discovery Protocol来发现network service。在JXTA协议中组l了两个层次上的network service?br> <ul> <li>Peer Service。一个peer service只有当peer公布了自qservice时才能被讉K。如果这个peerp|了,那么它的service也失败了。不同的peer可以q行某个服务的多个实例,但每个实例都必须公开自己的广?advertisement).</li> <li>Peer Group Service。peerl服务是q个l中成员所q行服务的实例的集合的组lŞ式,其中q些实例是互相合作的。如果其中Q何一个peerp|了,那么q个 peerl服务将不会收到影响Q假定这个服务可以从其他peer获得Q。peer group服务通过peer l广告的以部分来发布?/li> </ul>     服务可以是事先被安装到peer上或者通过|络安装的。ؓ了真正的q行一个服务,peer必须为定位一个适合当前peerq行环境的一个实现。这个从|络上查找,下蝲和安装一个服务的q程很类g在Internet上搜索一个Web面Q取回这个页面然后再安装需要的插g的过E?br> 4.<span style="font-weight: bold;">Modules</span>。JXTA的module用来描述M一D는来实现JXTA world中一个行为的“代码”的抽象表C(AbstractionQ。Network Service是在一个peer上实现的行ؓ的一个最一般的例子。这个Module Abstraction不一定特指什?#8220;代码”Q它可以是一个Javac,也可以是Java jarQ或者动态链接库dllQ一个XML消息或是一个脚本。这个module的行Zl了module的实现者。对于一个实例(instanceQ, module表示了一个网l服务(network serviceQ在不同q_上的不同实现Q这些^台比如说在javaq_QMS windowsq_QSolaris q_?br>    Module允许peer实现一个新的行为,通过提供了一个一般的抽象。当peer览或者加入一个peerl时Q他可以查找新的其打实现的行ؓ。比如,当加入一个peerl后Q一个peer可能必须学习新的搜烦服务Q这个服务只能在本peerl中使用。ؓ了加入到q个l,q个peer必须实现q个新的搜烦服务。这个module框架可以启动q_无关行ؓ的表C(representationQ和q告QadvertisementQ。ƈ允许peer描述和实CQ何Ş式这个行为(behaviorQ的是实现。比如,一个peer使用java或者c实现一个行为的实现?br>& amp; nbsp;   描述和公告一个^台独立的行ؓ的能力能有有效的支持peerl包含异构的peer。module的广告可以JXTA的peer能够采用q_独立的方式描qC个行为。JXTAq_使用moduleq告来自描述?br>    module抽象QModule abstractIonQ包括一个module classQmodule specification和一个moduleimplementation?br> <ul> <li>Module Class。module class主要用于q告一个行为(behaviorQ的存在。这个class的定义表qC一个期望的行ؓ和一个期望的Ҏ支持的module的绑定。每一个module class都有一个唯一的IDQ成为MoudleClassID</li> <li>Module Specification。Module Specification主要用于讉Kq个module。它包含了访问或者启动这个module的所有必要的信息。比如,一个服务,他的module specification可能包含了一个用于和其他服务盔R信的管道的q告。一个module specification用于提供module class所指明的功能。对于一个module class可能有多个module specification。每一个module specification都有一个唯一的idQModuleSpecID。ModuleSpecID包含了ModuleClass IDQƈ指明了所使用的module class。一个module specification暗含了对|络的兼Ҏ。对于一个给定的module specification的所有实现都必须使用相同的协议,q些实现都需要是兼容的,即使用不同的语a实现的?/li> <li>Module Implementation。Module Implement是一l定module specification的实现。对于一个module specification可以有多个module implementation。每一个module implementation都包含了它所实现的与specification相关联的ModuleSpecID?/li> </ul>     Module可以被peerl服务用,也可以被独立的服务所使用。JXTA服务通过module abstraction来区别存在的服务Q他的Module ClassQ,服务的specificationQModule SpecificationQ,或者服务的实现QService ImplementationQ。所有的q些都有一个联合的q告Qƈ且可以通过其他JXTA peer来公告和发现的。作Z个例子,考虑JXTA的发现服务。它包含一个唯一的ModuleClassIDQ标识了他作Z个发现服务——他的抽象功能。对于这个发现服务可以有多个不同的规范(SpecificationQ,q伴随着不同的实现。对于组的大和在网l中的传播方式可以用不同的裁剪{略。每一个Specification都有唯一的MdouleSpecIDQ其中指明了发现发现服务的ModuleClassID。对于每个规范,都可能有多种实现Q每U实现都包含了相同的ModuleSpceID?br>    MQ对于一个给定的module Class都可能有多种规范Q这些规范可能是完全不同的。然而Q何给定规范的所有实现都是假定可以互相兼容的?br><img src ="http://m.tkk7.com/pandawang/aggbug/118606.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/pandawang/" target="_blank">Long Long Ago</a> 2007-05-19 23:11 <a href="http://m.tkk7.com/pandawang/archive/2007/05/19/118606.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JXTA学习W记Q?Q——JXTA的体pȝ?/title><link>http://m.tkk7.com/pandawang/archive/2007/05/13/117108.html</link><dc:creator>Long Long Ago</dc:creator><author>Long Long Ago</author><pubDate>Sun, 13 May 2007 06:13:00 GMT</pubDate><guid>http://m.tkk7.com/pandawang/archive/2007/05/13/117108.html</guid><wfw:comment>http://m.tkk7.com/pandawang/comments/117108.html</wfw:comment><comments>http://m.tkk7.com/pandawang/archive/2007/05/13/117108.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/pandawang/comments/commentRss/117108.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/pandawang/services/trackbacks/117108.html</trackback:ping><description><![CDATA[    在JXTA中分Z个层ơ,如下图所C?br><img style="width: 482px; height: 339px;" alt="" src="http://m.tkk7.com/images/blogjava_net/pandawang/JXTA/JxtaArchitecture.JPG" align="middle"><br>     下面分别介绍各个层次Q?br> <ol> <li>q_层(platform layerQ。^台层x谓的JXTA核心QJXTA coreQ,专门包装了最最_֍的部分,q部分主要完成了对P2P|络最一般的使用。包括,为P2P应用E序的关键机制构建模块,传输Q包括防火墙IK)Q创建peer和peer group以及和安全部分的l合?/li> <li>服务层(Service layerQ。服务层包含了一些网l服务,q些服务不一定是P2PE序中必ȝQ但却是P2P环境中通常和值得提供的。比如搜索,索引Q目录,存储pȝQ文件共享,分布式文件系l,资源聚合和租借等应用服务Q以及协议传输服务和认证和PKI服务{等?/li> <li>应用层(Application layerQ。应用层包括了综合应用的实现Q比如P2P的及时消息,文档和资源的׃nQ娱乐内容管理和分发QP2P的emailpȝQ分布式拍卖pȝ以及很多其他的应用?/li> </ol>     实际上,服务层和应用层之间的界限q不是明昄。一个用L应用E序可以作ؓ另一个用L服务。整个系l被实际成模块化的,允许开发者选择一个服务和应用的集合来定制自己的需求?br>    在JXTA中有三个主要斚w是它区别一其他分布式网l模型的Q?br> <ol> <li>使用XML文档(q告Q来描述|络资源?/li> <li>针对peer间和peer与端点(endpointQ间的抽象管道(abstraction pipe)不需要用一个可信赖的中心名?地址认真Q比如DNS?/li> <li>唯一的peer地址ҎQpeer IDsQ?/li> </ol> 在下面的部分详l介lJXTA的各个组成部分?br><img src ="http://m.tkk7.com/pandawang/aggbug/117108.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/pandawang/" target="_blank">Long Long Ago</a> 2007-05-13 14:13 <a href="http://m.tkk7.com/pandawang/archive/2007/05/13/117108.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JXTA学习W记Q?Q——JXTA?/title><link>http://m.tkk7.com/pandawang/archive/2007/05/12/117072.html</link><dc:creator>Long Long Ago</dc:creator><author>Long Long Ago</author><pubDate>Sat, 12 May 2007 15:59:00 GMT</pubDate><guid>http://m.tkk7.com/pandawang/archive/2007/05/12/117072.html</guid><wfw:comment>http://m.tkk7.com/pandawang/comments/117072.html</wfw:comment><comments>http://m.tkk7.com/pandawang/archive/2007/05/12/117072.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/pandawang/comments/commentRss/117072.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/pandawang/services/trackbacks/117072.html</trackback:ping><description><![CDATA[    JXTA是一个ؓP2P计算而开发设计的开发网路计^台。它的目标是通过创徏基本lg和服务来为peer group创造新的应用。JXTA是juxtpose的简Uͼ指ƈ列ƈ排,q里是说P2P的方式和C/S方式以及B/S方式是同{地位了Q都是传l的分布式计模型?nbsp;JXTA为开发应用程序提供了一l开发协议集合和一个开放源码的参考实现。JXTA协议标准化了peer的风| <ol> <li>互相发现Q?/li> <li>在peer group中的自组l;</li> <li>q告和发现网l服务;</li> <li>peer间的通讯Q?/li> <li>peer间的交互?/li> </ol>     JXTA协议被设计成独立于程序设计语a和独立于传输协议的。这些协议可以用Java或者C/C++或者perl实现。同P也能在TCP/IP,HTTP,Bluetooth或者其他传输协议上实现。JXTA协议使得开发者可以构建和部vP2P的服务或者应用程序,因ؓq些协议是独立于E序语言和传输协议,所以可以得采用完全不同Y件体pȝ异构l端讑֤能够交互通讯。用JXTA技术,开发h员可以开发出Z|络的,能够交互的应用程序,q些应用E序有如下特点: <ol> <li>通过动态查询和防火墙穿来发现本网l中的其他peerQ?/li> <li>M讉K|络的节炚w可以方便地共享文档;</li> <li>在网l站点中查找minute contentQ?/li> <li>创徏一个peer group来提供服务;</li> <li>q端监视peer的行为;</li> <li>在网l中同其他peerq行安全的通信?/li> </ol><img src ="http://m.tkk7.com/pandawang/aggbug/117072.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/pandawang/" target="_blank">Long Long Ago</a> 2007-05-12 23:59 <a href="http://m.tkk7.com/pandawang/archive/2007/05/12/117072.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>erlang和yawshttp://m.tkk7.com/pandawang/archive/2007/01/18/94774.htmlLong Long AgoLong Long AgoThu, 18 Jan 2007 15:22:00 GMThttp://m.tkk7.com/pandawang/archive/2007/01/18/94774.htmlhttp://m.tkk7.com/pandawang/comments/94774.htmlhttp://m.tkk7.com/pandawang/archive/2007/01/18/94774.html#Feedback2http://m.tkk7.com/pandawang/comments/commentRss/94774.htmlhttp://m.tkk7.com/pandawang/services/trackbacks/94774.htmlhttp://yarivsblog.com/articles/2006/07/12/the-hitchhiker
首先需要安装erlang环境Qwindows和linux下都有,但yaws好像只给了个linux下的安装文gQ于是在ubuntu6.06上安装?br />从erlang主页www.erlang.org上下载源码,~译步骤Q?br />tar -xzvf xxx.tar.gz
cd xxx
sudo ./configure
Qsudo make cleanQ#可选的Q用于非首次~译的情?br />sudo make
sudo make install Qas rootQ?br />但configure时出错:Q类似如下)
configure: error: No curseslibraryfunctions found
There is a problem with $ERL_TOP/erts/configure not passing the LDFLAGS
environment variable for test compiles, so ALL library tests fail. I
modified files $ERL_TOP/erts/aclocal.m4 and $ERL_TOP/configure.in in order
to locate pthread_create in the standard C runtime library. The
$ERL_TOP/configure.in produces a configure that works, wheras the
$ERL_TOP/erts/configure.in does not. At the top of file erts/configure.in:

AC_PREREQ(2.13)
AC_INIT(vsn.mk)
应该是一些curses库没有安装,但apt-get install curses提示找不刎ͼgoogle了一下发现需要安?br />
ncurses-devel包,在网上只扑ֈ了相应的rpm包,使用alien命oQ将rpm保{换ؓdeb包安装:
sudo apt-get install alien
sudo alien *.rpm,转成deb后,用dpkg -i *.deb
或?br />sudo alien -i *.rpm
q行安装
(注意Q下载rpm包的时候我包改名了,Dalien时出错,Ҏ原来的名字就正常了,不知道ؓ什么:P)
q时候cofigure可以q去了,但make又出错了Q提Cerlc找不刎ͼcM如下的错误信息:
erlc -W +debug_info -I../include -o../ebin otp_ring0.erl
make[4]: erlc: Command not found
make[4]: ***[../ebin/otp_ring0.beam]Error127
make[4]: Leaving directory `/usr/src/packages/erlang-10.b.5/lib/kernel/src'
make[3]: *** [/usr/src/packages/erlang-10.b.5/lib/kernel/ebin/otp_ring0.beam] Error 2
make[3]: Leaving directory `/usr/src/packages/erlang-10.b.5/erts/emulator'
make[2]: *** [generate] Error 2
make[2]: Leaving directory `/usr/src/packages/erlang-10.b.5/erts/emulator'
make[1]: *** [depend] Error 2
make[1]: Leaving directory `/usr/src/packages/erlang-10.b.5'
make: *** [build-stamp] Error 2
make: *** [debs] Error 2

看网上有介绍说用make cleanq不完全Q?br />于是源码删除,重新解压~,再configure后,makeQ没有提Cerlc找不CQ又有提C类似如下的错误信息Q?br />> otp_src_R11B-1/lib/kernel/ebin/erlang.beam > i686-pc-linux-gnu/preload.c
> m4 -DTARGET=i686-pc-linux-gnu -DOPSYS=linux -DARCH=x86 hipe/
> hipe_x86_asm.m4 > i686-pc-linux-gnu/opt/plain/hipe_x86_asm.h
> /bin/sh: m4: command not found
> make[2]: *** [i686-pc-linux-gnu/opt/plain/hipe_x86_asm.h] Error 127
> make[2]: Leaving directory `/home/jhancock/otp_src_R11B-1/erts/emulator'
> make[1]: *** [generate] Error 2
> make[1]: Leaving directory `/home/jhancock/otp_src_R11B-1/erts/emulator'
> make: *** [depend] Error 2
q是m4包没有找刎ͼhttp://www.erlang.org/pipermail/erlang-questions/2006-November/023942.htmlQ?br />安装m4包后Qlmake出现如下错误Q?br />hipe/hipe_mkliterals.c:351: error: 'X86_LEAF_WORDS' undeclared here (not in a function)
hipe/hipe_mkliterals.c:352: error: 'X86_NR_ARG_REGS' undeclared here (not in a function)
|上搜烦l果Qhttp://forum.trapexit.org/viewtopic.php?t=6815
源码删除,再解压羃 再makel于q去?/pre>提示Q如下的包最好是在erlang安装之前安装好? perl, debhelper (>= 4.0.0), autoconf (>= 2.50), openssl, libssl-dev, m4, libncurses5-dev, dpatch, autotools-dev, unixodbc-dev
makeq程大概?个小Ӟ之后是make install很快?br />打开l端Q输入erlQ出现提C符1>
后面yaws的安装和使用
yaws的安装挺单的Q主要是他的~译是基于erlang的?br />需要注意的是,安装好后Q如果没有安装相应的ssl模块的话Q需要更改一下conf文gQ将其中关于ssl的部分注释掉Q既如下部分Q?br /><server xxx>
      ....
          <ssl>
                ...
          </ssl>
</server>
在windows下的安装Q在yaws的主上有说明,需要下载一个bat文gQ不q这个文件好像有问题Q需要将一些安装的环境变量改一下,在(SET ERLC_FLAGS=Q这行之后添加:
SET ProgramFiles=G:\erlang\yaws\yaws_program
SET HOME=G:\erlang\yaws\yaws_data
SET APPDATA=G:\erlang\yaws\yaws_configure
ProgramFiles 为yaws的程序位|,HOME为yaws的数据位|,包括wwwQlogQwikiQssl{,APPDATA为yaws的配|位|?br />如果使用默认安装参数的话Q需要将IF NOT DEFINED ProgramFiles SET ProgramFiles="c:\Program Files"?br />HOME="%HOMEDRIVE%%HOMEPATH%\My Documents"中的双引号去掉(感觉q个bat文g写的比较乱)
同时不要忘了Q在安装好之后注释掉conf文g中关于ssl的部分?br />安装好后Q默认就可以?home/www目录或?tmpQwindows下ؓ%home%\www  or C:\tmpQ目录添加yaws文gQehtmlQ来昄了?br />btwQ如果在ubuntu or debian上安装,最单,只要apt-get install yaws 可以了。运行yaws需要root权限?br />

Long Long Ago 2007-01-18 23:22 发表评论
]]>java Object输入输出中的一个问题zzhttp://m.tkk7.com/pandawang/archive/2006/12/30/90990.htmlLong Long AgoLong Long AgoSat, 30 Dec 2006 04:46:00 GMThttp://m.tkk7.com/pandawang/archive/2006/12/30/90990.htmlhttp://m.tkk7.com/pandawang/comments/90990.htmlhttp://m.tkk7.com/pandawang/archive/2006/12/30/90990.html#Feedback0http://m.tkk7.com/pandawang/comments/commentRss/90990.htmlhttp://m.tkk7.com/pandawang/services/trackbacks/90990.html写程序中遇到一个问题 如? mySoc = new Socket(svrAddress,5555); myInput = new ObjectInputStream(mySoc.getInputStream());//有问? myOutput = new ObjectOutputStream(mySoc.getOutputStream());//有问? //myInput = new DataInputStream(mySoc.getInputStream()); //myOutput = new DataOutputStream(mySoc.getOutputStream());  注销的语句运行可以成? 但是未注销的那部分 q行时就卡在那里? 但是却没有抛出异? h原因是什么 有什么问? 该怎么解决呢?

找了好久l于再网上找到关于这个问题的说明了 因为问题比较特D 所以脓出来希望对大?
有帮?

L端先建立ObjectInputStream后徏立ObjectOutputStreamQ则对应地客L要先建立
ObjectOutputStream后徏立ObjectInputStreamQ否则会造成两方互相{待数据而导致死
锁?

原因是徏立ObjectInputStream对象是需要先接收一定的header数据Q接收到q些数据之前
会处于阻塞状态。故而ؓ了防止这U死锁状态,通讯两方?
ObjectInputStraem,ObjectOutputStream必须注意序对应使用?


目前相应的解军_法还没有扑ֈ 如果要解ꐠ可以尝试重载对象输入输出流


Long Long Ago 2006-12-30 12:46 发表评论
]]>
subversion的配|?/title><link>http://m.tkk7.com/pandawang/archive/2006/09/05/67844.html</link><dc:creator>Long Long Ago</dc:creator><author>Long Long Ago</author><pubDate>Tue, 05 Sep 2006 09:00:00 GMT</pubDate><guid>http://m.tkk7.com/pandawang/archive/2006/09/05/67844.html</guid><wfw:comment>http://m.tkk7.com/pandawang/comments/67844.html</wfw:comment><comments>http://m.tkk7.com/pandawang/archive/2006/09/05/67844.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/pandawang/comments/commentRss/67844.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/pandawang/services/trackbacks/67844.html</trackback:ping><description><![CDATA[安装subversion<br />基本命oQ?br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">  $ sudo apt-get install subversion<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />  $ sudo apt-get install libapache2-svn</span></div>可以安装的包:<br /><strong><font color="#000000"> apache2<br /> apache2-common<br /> apache2-mpm-prefork<br /> apache2-utils<br /> libapache2-svn<br /> libapache2-mod-auth-pam<br /> libapache2-mod-auth-sys-group<br /> subversion<br /> subversion-tools<br /></font><br /><br /></strong>创徏一个名为subversion的组Qgroupadd subversion<br />自?eg.:user)和www-data(apapch2帐号)用户d入subversionl,可以~辑/etc/group文g,在最后找到subversiond入帐号名(eg:user,www-data),看上d像这?<strong class="highlight">subversion</strong>:x:1001:www-data,exp<br />然后是创建subversion?q赋予subversionl中用户有读写subversion库的权限:<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">   $ sudo mkdir /home/svn  #创徏svn库的父\?br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />   $ cd /home/svn<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />   $ sudo mkdir myproject  #创徏本svn库的目录<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />   $ sudo svnadmin create /home/svn/myproject #使用svn命o,创徏svn?br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />   $ sudo chown -R root:subversion myproject #更改本目录的l?br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />   $ sudo chmod -R g+rws myproject #l本目录的组用户增加d和递归增加新加目录的读写权?/span></div>注意上面提到的命令顺?如果最后再执行创徏库的命o(svnadmin create ....)则创建的文g没有获得l用户写的权?q样在外部访问提交的时候会出错.<br />对于本机,可以直接使用file命o来访?<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">  $ svn co(or checkout) file:///home/svn/myproject<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />#or<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />  $ svn co file://localhost/home/svn/myproject</span></div><em>注意Q如果您q不定L的名Uͼ您必M用三个斜?///)Q而如果您指定了主机的名称Q则您必M用两个斜?//).<br /></em>此时对svn库的权限是基于文件系l的,只要是subversionl中的用户都可以讉K本svn库?br /><br />接下来,讲述如何使用apache服务器来提供对svn库的讉K<br />~辑文g/etc/apache2/mods-available/dav_svn.conf<br />增加如下的内容:<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">  </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">Location </span><span style="COLOR: #ff0000">/svn/myproject</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />     DAV svn<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />     SVNPath /home/svn/myproject<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />     AuthType Basic<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />     AuthName "myproject subversion repository"<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />     AuthUserFile /etc/subversion/passwd<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />     </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">LimitExcept </span><span style="COLOR: #ff0000">GET PROPFIND OPTIONS REPORT</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />        Require valid-user<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />     </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">LimitExcept</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">Location</span><span style="COLOR: #0000ff">></span></div><p>apache会解析url中的/svn/myproject部分Q来定位svn库,当收到此hӞ会查询svn库:/home/svn/myprojectQ这里的认证方式是basicQ对于访问要求valid-userQ帐h件在/etc/subversion/passwd中?br />注意重新讄后要重启apache2Qsudo /etc/init.d/apache2 restart<br />~辑生成帐号文g: sudo htpasswd2 -c /etc/subversion/passwd user  #luser帐号创徏口o<br />q时候可以通过览器来览svn库了<br />在我的设|中发现Qapache2会自动绑定ipv6地址Q可能会有些问题Q可以强制apachel定v4地址Q在/etc/apache2/port.conf中改成:Listen [bindedip]:[port]的Ş?br /><br />通过https来访问svn?br /><font color="#000000">首先生成一?SSL {֐Q用命?br /><br /> # apache2-ssl-certificate<br /><br />q里会有一pd关于你的个h隐私的问题,回答完了Q自然的{֐也就生成了,?br />后我们就要在 apache2 里面打开 SSL 了,现在要做的是开?ssl 模块<br /><br /> # a2enmod ssl<br /><br />然后Q?apache2 的虚拟主机功能来d SSL 的支持,?br /><br /> /etc/apache2/sites-available/default<br /><br />复制一份,?br /><br /> /etc/apache2/sites-available/ssl<br /><br />好啦<br /><br />修改 default 文g的开头ؓ<br /><br /> NameVirtualHost *:80<br /> <VirtualHost *:80><br /><br />修改 ssl 文g的开头ؓ<br /><br /> NameVirtualHost *:443<br /> <VirtualHost *:443><br /><br />q里 443 ?SSL 的标准端口?br /><br />q在 ssl 文g中加入如下内容,?lt;VirtualHost></VirtualHost>?br /><br /> SSLEngine On<br /> SSLCertificateFile /etc/apache2/ssl/apache.pem<br /><br />保存文g后,q行命o<br /><br />   # a2ensite ssl<br /><br />来激z这个虚拟主?br /><br />现在Q修Ҏ?br /><br /> /etc/apache2/ports.conf<br /><br />加上一?br /><br /> Listen 443<br /><br />好了Q到此ؓ止,SSL 服务器配|完成,重新启动 apache 吧?/font></p><p> </p><p>一些问题:<br />可能出现 RA layer request failed svn: MKACTIVITY of 400 Bad Request 之类的错误,q可能是因ؓ使用了代理的原因Q代理不支持svn的扩展命?see:<a >http://subversion.tigris.org/faq.html#proxy</a><br />q有U原因,是可能是你的客L使用的是windowsxpQ其他版本的windows我没试过Q也是这L错误Q在linux下正常,解决Ҏ不太清楚?br />RA layer request failed svn: MKACTIVITY of 400 Bad RequestQ无Z么原因都可以用https代替http来暂时解册L问题?br /><br />参考:<br /><a >http://fanqiang.chinaunix.net/app/web/2005-05-18/3257.shtml</a><br /><a >http://wiki.ubuntu.org.cn/SubVersion?highlight=%28subversion%29</a><br /></p><img src ="http://m.tkk7.com/pandawang/aggbug/67844.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/pandawang/" target="_blank">Long Long Ago</a> 2006-09-05 17:00 <a href="http://m.tkk7.com/pandawang/archive/2006/09/05/67844.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在unbuntu中安装xgl及?/title><link>http://m.tkk7.com/pandawang/archive/2006/08/31/66843.html</link><dc:creator>Long Long Ago</dc:creator><author>Long Long Ago</author><pubDate>Thu, 31 Aug 2006 05:03:00 GMT</pubDate><guid>http://m.tkk7.com/pandawang/archive/2006/08/31/66843.html</guid><wfw:comment>http://m.tkk7.com/pandawang/comments/66843.html</wfw:comment><comments>http://m.tkk7.com/pandawang/archive/2006/08/31/66843.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.tkk7.com/pandawang/comments/commentRss/66843.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/pandawang/services/trackbacks/66843.html</trackback:ping><description><![CDATA[在sources.list中添加如下几个源Q?br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">deb http://www.beerorkid.com/compiz/ dapper main<br />deb http://xgl.compiz.info/ dapper main<br />deb-src http://xgl.compiz.info/ dapper main <br /></span></div>d代理Q?br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">export http_proxy="http://xxx.xxx.xxx.xxx:xxxx"</span></div>获取pgp密钥Q?br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">wget http://www.beerorkid.com/compiz/quinn.key.asc -O - | sudo apt-key add - </span></div><br />nivida的驱动:<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">sudo apt-get install nvidia-kernel-common nvidia-glx</span></div>~辑文gQ?etc/X11/xorg.conf<br />在module部分中确定lode xglQ有如下代码Q?br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">Load "glx"</span></div>在devices部分修改除了Identifier行的其他各行Q修改后如下Q?br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">Section "Device"<br />    Identifier- leave this line alone!<br />    Driver        "nvidia"<br />    BusID        "PCI:1:0:0"<br />    Option         "RenderAccel"         "true"<br />EndSection</span></div>在最下面dExtensions部分Q代码如下:<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">Section "Extensions"<br />          Option  "Composite" "Enable"<br />EndSection</span></div>下面是安装必要的库文Ӟ<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">sudo apt-get install compiz xserver-xgl libgl1-mesa xserver-xorg libglitz-glx1 compiz-gnome</span></div>以上是引文http://www.ubuntuforums.org/showthread.php?t=131267 中的ҎQ此文所讲的后面是加载方法,我没有采用,用的是这里讲的方法:http://forum.ubuntu.org.cn/viewtopic.php?t=16777 不过q里讲的安装Ҏ中少了一个库文gQ呵?br />讄xgl启动入口Q?br />新徏一个xgl启动脚本/usr/bin/startxgl.sh,内容如下Q?br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">Xgl -fullscreen :1 -ac -accel glx:pbuffer -accel xv:pbuffer & sleep 2 && DISPLAY=:1<br /># Start GNOME<br />exec gnome-session </span></div>使脚本可执行Q? sudo chmod 755 /usr/bin/startxgl.sh<br />新徏一个compiz脚本/usr/bin/startcompiz,内容如下Q?br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">#!/bin/sh<br />killall gnome-window-decorator<br />wait<br />gnome-window-decorator & LD_PRELOAD=/usr/lib/fglrx/libGL.so.1.2.xlibmesa<br />compiz --replace gconf miniwin decoration transset wobbly fade minimize cube rotate zoom scale move resize place switcher trailfocus water & </span></div>使得脚本可执行:sudo chmod 755 /usr/bin/startcompiz <br /><span id="zjdx79v" class="postbody"> 在登陆管理器里徏一个XGL会话Q? 建立一个文?/span>/usr/share/xsessions/xgl.desktop Q内容如下:<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">[Desktop Entry]<br />Encoding=UTF-8<br />Name=XGl<br />Exec=/usr/bin/startxgl.sh<br />Icon=<br />Type=Application </span></div><br /><span id="1f1xxn9" class="postbody"> 打开桌面菜单-〉系l?〉首选项-〉会? <br /> 在最双的“启动程序”里d /usr/bin/startcompiz q句? <br />最后不要忘?/span><br />sudo aptitude update <br /> sudo aptitude upgrade<br />关闭所有程?br />ctrl-alt-backspace启动X<br />d时在会话中选择xgl<br />会提C是否ؓ默认会话Q徏议选择仅本?br />哦,差点忘了Q怎么使用Q?br /> CTRL + ALT + Left/right arrow key. Switches to the new side of the cube for me. <br /><br /> CTRL + ALT + SHIFT + Left/Right arrow key- Takes the in focused app around cube.<br /><br /> CTRL + ALT + Left Click on Desktop - allows you to use the mouse to rotate cube.<br /><br /> F12 - uses the Expose like trick<br /><br /> Alt- Tab - switcher Vista-style<br /> 看v来有ҎQ尤其是输入法的动H体<br /><img src ="http://m.tkk7.com/pandawang/aggbug/66843.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/pandawang/" target="_blank">Long Long Ago</a> 2006-08-31 13:03 <a href="http://m.tkk7.com/pandawang/archive/2006/08/31/66843.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Design Pattern Practice [zz]http://m.tkk7.com/pandawang/archive/2006/04/24/42770.htmlLong Long AgoLong Long AgoMon, 24 Apr 2006 01:23:00 GMThttp://m.tkk7.com/pandawang/archive/2006/04/24/42770.htmlhttp://m.tkk7.com/pandawang/comments/42770.htmlhttp://m.tkk7.com/pandawang/archive/2006/04/24/42770.html#Feedback0http://m.tkk7.com/pandawang/comments/commentRss/42770.htmlhttp://m.tkk7.com/pandawang/services/trackbacks/42770.html阅读全文

Long Long Ago 2006-04-24 09:23 发表评论
]]>
javasvnhttp://m.tkk7.com/pandawang/archive/2006/03/23/37002.htmlLong Long AgoLong Long AgoThu, 23 Mar 2006 03:22:00 GMThttp://m.tkk7.com/pandawang/archive/2006/03/23/37002.htmlhttp://m.tkk7.com/pandawang/comments/37002.htmlhttp://m.tkk7.com/pandawang/archive/2006/03/23/37002.html#Feedback0http://m.tkk7.com/pandawang/comments/commentRss/37002.htmlhttp://m.tkk7.com/pandawang/services/trackbacks/37002.html最q在用javasvn做一个svn的管理程序,用rcp实现Q在实现q程中发玎ͼ如果只是单纯的用javaE序实现目录列表的时候,一切正常,但用rcp后始l出错,认证错误Q观察javasvn源代码后发现Q在定义认证manager的时候javasvn会检是否在使用eclipseQ如果是Q则定义一个eclipseAuth××mangerQ后来修改了相应的代码,不调用那个检是否ؓeclipse的方法后ok了,估计是在eclipse中用javasvn会有Ҏ性,故加了此D代码,不过单的rcp是不需要的?/p>

Long Long Ago 2006-03-23 11:22 发表评论
]]>
վ֩ģ壺 ִִӲˬƵ| ëƬڵ| ҹƷţӰ| jizzѹۿƵ| Ʒ޵һ| ŷ޾ƷƵѹۿ | Ƶ߹ۿ| ɫϰƵ߹| ɫʹɫӰԺ| ŷһëƬ| ݺۺɫ | Ƶѹۿ| þþƷӰѿ| Ŀַ| պƷѵӰ| ް鵺̳| ޾ƷAMMëƬ| һѲ| vaƷѹۿ| ޾Ʒҹ| vaĻ| ޹99Ʒ| ŮëƬѲ | ۺϾƷ㽶þ97| þav޾Ʒɫҹ| AVѿ| 鶹Ʒ͵Բ91| ˳ëƬ߲| ѰƵ̫ˬ| 99þþþþѿ| Ƶ| ˬˬƬA| ѿƵվ| ޹һҳwww| ߹ۿѰƵ| ˬִֻ̼վ| AVƷɫ| Ƶ߹ۿ| һ| Ƶ| þþþavëƬ|