`
文章列表
之前讲的加入“群”,即对等组。都是不用认证的,只要发现了该“群”,就可以加入“群”。但是这明显是不好的,不管管理上,还是从安全,或者内容上。所以我们要给“群”加上锁,只能让有钥匙的用户进入。 日常方面我们都是使用密码来使用锁匙,在本文我也正是要讲的是使用密码来给“群”上锁,这样,以后有谁想加入该“群”,必须要有该“群”的的钥匙“密码”才行。 在这里本来打算利用一次全写完,可是考虑到,如果把所有内容一次给出,看来麻烦,而且对于理解也不太好。所以会分次给出。在这篇我只想讲讲如何通过身份认证加入“群”的过程。给出部分代码,代码也加上了必要的注释,希望大家可以看明白过程就行。 代码的实现过程,将后 ...
在上一篇中“基于Pipe管道通信”中很多朋友反应说只有代码没有理论,看起来不知道过程。本文将过程补上,而且提供基于Pipe的另种通信方式-监听方式的实现。 Pipe是Peer之间通信主要机制之一。JXTA中的Pipe和传统的管道存在着 ...
  1. 扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件。程序人人都会写,但当 ...
本文主要讲解的是如何单纯发布管道广告,及利用发现的管道进行简单的信息通信。PeerServer发布管道广告,等待其它PeerClient发现及连接,然后向PeerServer发送一条内容为“你是谁”的信息。下面给出的两个类可以放在同个目录下运行。 public class PeerServer {  private DiscoveryService discoveryService = null;  private PipeService pipeService = null;  private PeerGroup restoNet = null;  private PeerGroup ...
在JXTA中发布和发现任何资源都是根据广告,因此,我们要发现Peer也却是发现PeerAdvertisement的过程。该如何发现一个对等组内所有的Peer,和打印出它们的信息呢? 首先,我们要搜索Peer,那我们必须要找到一下存在的PeerGroup,找到PeerGroup,我们再找到其下面的Peer。如何发现PeerGroup,我们可以回头看看 如何从HelloWorld开始学习JXTA,在这里我就不详细说明。下面直接用代码和文字结合来讲明如何打印出HelloWorld对等组下面的所有Peer的信息。示例代码如下: public class FindAllPeer {  /**  ...
本文主要从代码来讲解从HelloWorld开始理解和学习JXTA。在这里我们要实现的是一个Peer如何发现对等组并加入,如果不存在,则创建。当然在这里的加入对等组是最简单的,没有加入任何认证。这样是不安全和不利于对PeerGroup管理 ...
PeerAdvertisement(对等机广告)有两个最终的目的: 1、为了让其它对等机,对等组访问当前Peer资源,例如Peer名称,ID,所提供的服务等。(向网络发布) 2、保存本地配置的基本信息(没有发布) 下面对对等机广告的元素说明: Name----Peer名称,就是我们当前Peer第1次配置时所提供的Peer名称。 Desc-----对Peer的描述,可以对该Peer资源的主要作用描述。 PID-------对Peer实例的惟一标识(其必须是惟一) GID-------当前Peer所属的PeerGroup标识。 Svc-------包含当前Peer有关信息,包括支撑的 ...
JXTA中的所谓“名片”,指的是JXTA语言中的广告,P2P网络中所有有关Peer(对等机),PeerGroup(对等组),Service(服务)以及其它JXTA构件的信息都是由广告来定义的。可以说任何资源都要在P2P网络中描述自己的存在和特性,让其它Peer可以访问。即是说在JXTA所有资源都是通过发布和发现广告来互相操作的。以下列出广告的主要类型:   1、Module Class Advertisement(MCA)   模块类广告,定义模块的具体版本。 2、Module Specification Advertisement(MSA) 模块规范广告,用跨平台的定义来描述模块,定义中 ...
我最近在学习JXTA,运行JXTA官方的示例代码,在别的电脑上是可以正常运行的, 可是在我的电脑上就不行。   例如:Service示例,Server端已经发布了广告,可是在Client上就找不到广告,而在别的机上却不会出现问题。 同样的代码,机不同,而出现不同的结果。   有谁也遇到这个问题吗?
要把多个任务分派给Java的多个线程去执行,这其中就会有一个任务列表指派到线程的策略思考:已知:1. 一个待执行的任务列表,2. 指定要启动的线程数;问题是:每个线程实际要执行哪些任务。使用Java多线程实现这种任务分发的策略是:任务列表连续按线程数分段,先保证每线程平均能分配到的任务数,余下的任务从前至后依次附加到线程中--只是数量上,实际每个线程执行的任务都还是连续的。如果出现那种僧多(线程) 粥(任务) 少的情况,实际启动的线程数就等于任务数。这里只实现了每个线程各扫自家门前雪,动作快的完成后眼见别的线程再累都是爱莫能助。实现及演示代码如下:由三个类实现,写在了一个 Java 文件中:Ta ...
最近我弟弟为了女人和钱和我吵了一架,我真的很伤心。我流泪了,我的伤心,我的后悔,在这一时刻全部到来。 吵架真的影响到我们全家人的心情。我也是其中一个,我知道弟弟这样子错了。可是我也没有资格说他,因为这一错误,也包括了我的成分。我没有做好模样,我没有带好弟弟。虽然我没有和妈吵架过,可是在这孝道之上。我并没有很深入,只是做到了基本,对弟弟的影响不大。从来也没有好好和弟弟谈过这方面的事情。 我和弟弟性格很不同,所以我们的话题很少,但是我们都知道互相都很关心对方。但是,平时话却很少。每次电话,都是几句而已。这些都是我的问题,没有沟通,我们的话题总是不会增加。不过还好,因为我弟弟也是一个很老实的人。我 ...
剑,一把好剑,重三两三分,轻如蝉翼,千年寒冰所铸,剑身咖啡色,剑柄发黑,玄机暗藏,此乃好剑——Java。  剑入江湖十年有余,未尝一败,纵观江湖十数载,除无极棍C/C++之外,此剑未输其他,甚至隐隐有超越之势,夺其宝座之嫌,然无极棍毕竟功力深厚,用之越久则威力更盛,不比其他武器,上手便是花招,给初次使用者以极大的荣誉感和满足感,忽略内家功夫的根基..此乃大忌..Java剑行走江湖十余年来,创造武功套路各据奇意,ANT乃行军打仗(超强编译),杀人于无形之招,此招,使你在千军万马中,杀人于谈笑之间,一经使用(编译),便可省去众多已方士兵的损伤,此招适用具有Java独门内功(J2SE)之人..  Ja ...
Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。 一、定义配置文件 其实您也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使您的应用程序更加灵活。Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值)。下面我们介绍使用Java特性文件做为配置文件的方法: 1.配置根Logger,其语法 ...
1 通过Java Swing实现的一个三态树组件,包括选择、去选择、半选择等状态,适合网管等C/S结构的软件2 代码是整合完善多个版本/多位大侠的工作后,输出的一个较为满意的版本,还有很多值得优化的空间,欢迎大家修改完善。3 大家在使用时放到一个包里即可运行, 三态树的节点为任意的Object,可以根据具体情况设置对象类型,可以很好的进行多态等处理, 代码简洁, Cell可以设置属性,可以根据具体情况扩展 /** * <p>Title: </p> * * <p>Description: </p> * * <p>Copyright: C ...
简洁的多级树形导航菜单 <ul id="menuList"> <li class="menubar">  <a href="#" id="productsActuator" class="actuator">我的收藏夹</a>   <ul id="productsMenu" class="menu">  <li>   <a href="#" id=" ...
Global site tag (gtag.js) - Google Analytics