标签: jxta

Android P2P多人游戏(附)XMPP /谷歌谈话b)JXTA peerdroid c)其他方式)

我是一名Android开发者,我制作了一些棋盘游戏.现在我想制作一些我的棋盘游戏多人游戏.我不想创建和托管我自己的Web服务,所以我想到了P2P.

我发现的第一件事是XMPP协议,但它不是真正的P2P,但如果我可以使用现有的谷歌聊天服务,我已经准备好了.这是否可以在使用现有的Google帐户时干扰Google Talk客户端的正常工作?

然后我听说了JXTA,一个真正的P2P解决方案,它已经从J2ME移植到Android(http://code.google.com/p/peerdroid/).

也许我在这里过于复杂的事情(我有时会这样做)

我只是想知道为桌面游戏做简单P2P的最简单方法.

欢迎您的所有意见!提前致谢

jxta android xmpp google-talk

24
推荐指数
1
解决办法
8528
查看次数

开始使用自定义JXTA PeerGroup

在过去一年左右的时间里,我一直在使用JXTA 2.3来开发我正在开发的点对点计算平台.我正在迁移到JXTA 2.5,在这个过程中我试图清理我对JXTA的大量使用.在大多数情况下,我以一种正确的工作态度接近JXTA.我用它来快速创建和管理我的点对点覆盖网络并提供基本的通信服务.我想以更多的JXTA方式使用它,因为我正在进行更改以转移到2.5.

我的第一步是基本创建自定义PeerGroup.我看到一些使用META-INF.servicesJava基础结构的新机制.我是否应该PeerGroupGUID中列出相关的实现对象net.jxta.platform.Module?据我了解,如果我这样做,当遇到并且加入或创建具有与GUID匹配的规范ID的组时,它应该自动使用匹配对象.我应该能够手动将PeerGroup对象绑定到组,但这种新方法的使用META-INF似乎更容易管理.

有没有人有任何使用此基础设施PeerGroup实施的指针或示例?此外,有关META-INF.servicesJava机制的一些一般信息也会有所帮助.

java jxta p2p

21
推荐指数
1
解决办法
1257
查看次数

为什么JXTA被放弃了?还有其他选择吗?

P2p /网格计算似乎是一个很有前途的概念.JXTA看起来像是唯一的一个框架.这个领域是如此稀少地追求是否有原因?

jxta p2p distributed-computing grid-computing

14
推荐指数
1
解决办法
7968
查看次数

用于编写P2P应用程序的Python库/框架

是否有用于在Python中编写P2P应用程序的库或框架?

我知道最初的Bittorrent客户端是用Python编写的.我看起来像JXTA但是对于Python.

python jxta networking p2p

13
推荐指数
1
解决办法
2万
查看次数

加入JXTA/JXSE中的现有PeerGroup

我使用JXSE时遇到问题.假设我有一个rendezVous对等体和一个边缘对等体,而不是在同一个本地网络上.

rendezVous对等体创建一个peerGroup"test",并在该组中发布名为"test advertisement"的广告

假设我确信我的EdgePeer已连接到rendezVous对等体.我可以使用netpeerGroup.getRemoteAdvertisements()找到现有的组"test".

但我不知道如何加入这个现有的小组.我尝试了netpeergroup.newGroup(testAdv),testAdv =已创建的peerGroupAdvertisement.

我在"测试"PeerGroup中找不到广告"测试广告".但如果我在本地做所有这些事情,它就有效.也许我不明白jxta如何在本地和互联网上工作的区别.

这里是创建或加入组的代码:

public void addGroup(final String name) {
    ModuleImplAdvertisement mAdv = null;
    PeerGroup group = null;
    temp = null;

    defaultGroup.getDiscoveryService().getRemoteAdvertisements(null, DiscoveryService.GROUP, 
            "Name", name, 1, new DiscoveryListener() {

                @Override
                public void discoveryEvent(DiscoveryEvent event) {
                    Enumeration<Advertisement> advs = event.getResponse().getAdvertisements();
                    while(advs.hasMoreElements()) {
                        System.out.println("groupe found");
                        PeerGroupAdvertisement adv = (PeerGroupAdvertisement) advs.nextElement();
                        System.out.println("group name : " + adv.getName());
                        try {
                            temp = defaultGroup.newGroup(adv);
                            System.out.println("group joined");
                        } catch (Exception e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                    }

                }
            }); …
Run Code Online (Sandbox Code Playgroud)

java jxta p2p

8
推荐指数
1
解决办法
238
查看次数

sqlite数据库的点对点复制

我正在寻找一种方法来跨同行复制一个小而简单的关系数据库(如SQLite).这应该在具有不稳定网络连接的环境中工作,因此每个对等体需要具有数据库的完整副本.这应该允许对等体在网络故障的情况下继续脱机工作.

为了简单起见,复制应该只需要支持复制添加数据,即只支持INSERT,而不是DELETE或UPDATE.

有没有人知道一个好的 - 理想的跨平台 - 技术或创建这样一个系统的方法?我目前正在考虑JXTA和JXSE,但是在Oracle被Sun收购之后,我对其社区的复杂性和显着缺乏生活感到沮丧.

谢谢!弗兰斯

sqlite jxta p2p

7
推荐指数
1
解决办法
1760
查看次数

使用bouncycastle X509v3CertificateBuilder生成X509Certificate

我正在尝试移植JXTA以在App Engine上运行.鉴于App Engine尚不支持BouncyCastle"BC"提供程序,我必须移植现有的JXTA代码以使用列入白名单的类生成X509Certificate.我对Crypto的了解很少,我不确定我想要实现的目标是否可行.以下是来自JXTA项目的PSEUtils.java的原始代码:

PSEUtils.java

有一个包含java.security.cert.X509Certificate的帮助器类:

public static class IssuerInfo {
    public X509Certificate cert; // subject Cert
    public PrivateKey subjectPkey; // subject private key
    public X509Certificate issuer; // issuer Cert
    public PrivateKey issuerPkey; // issuer private key
}
Run Code Online (Sandbox Code Playgroud)

在方法中:

public static IssuerInfo genCert(X500Principal subject, KeyPair keypair, IssuerInfo issuerinfo)
Run Code Online (Sandbox Code Playgroud)

我将主题传递给:

new X500Principal("CN="+useCN)
Run Code Online (Sandbox Code Playgroud)

密钥对(来自原始代码):

KeyPairGenerator g = KeyPairGenerator.getInstance("RSA");
g.initialize(1024, UTILS.srng);
KeyPair keypair = g.generateKeyPair();
Run Code Online (Sandbox Code Playgroud)

和jxta编码的IssuerInfo.

现在因为我无法引入bouncycastle.jce包,我必须删除JXTA使用的X509Principal和X509V3CertificateGenerator代码,并尝试用符合GAE限制的实现替换它.以下是我目前使用org.bouncycastle.X509.X509v3CertificateBuilder的genCert方法.

SubjectPublicKeyInfo subPubKeyInfo =  SubjectPublicKeyInfo.getInstance(keypair.getPublic().getEncoded());

X509v3CertificateBuilder v3CertGen = new X509v3CertificateBuilder(
     new X500Name(issuer.getName()), 
     BigInteger.ONE, 
     today, …
Run Code Online (Sandbox Code Playgroud)

jxta google-app-engine bouncycastle x509certificate x509

6
推荐指数
1
解决办法
2万
查看次数

JXTA 项目还活着吗?“jxta.org”似乎已关闭?

JXTA 项目还活跃吗?我正在寻找一个好的开源点对点解决方案,找到了 JXTA 文章,但是“jxta.org”不起作用,它还活着吗?或者把它移到其他地方了?

jxta p2p

5
推荐指数
1
解决办法
2460
查看次数

同行如何找到另一个同伴?

当有人搜索有关对等方如何在JXTA中找到对方的信息时,有一个重要问题尚不清楚.让我们假设我们在柏林有两个同行,另一个在伦敦,这是一个约会.我的问题是柏林的同行怎么能在伦敦找到同伴?

  1. JXTA有哪些方法可以解决这个问题?
  2. 你能发一个例子吗?

java jxta java-ee

5
推荐指数
1
解决办法
316
查看次数

如何在JXTA-JXSE 2.6中发现对等体并发送消息?

使用http://jxse.kenai.com/中的 JXTA 2.6 我想创建可以在一个或多个主机上运行多个对等的应用程序.对等体应该能够在组中找到彼此并发送直接消息以及传播消息.

简单的hello world类型的应用程序看起来会满足这些要求吗?

我创建了这个问题的目的是提供一个像答案这样的教程,这个答案我在两个月前开始查看JXTA的uni项目时很难找到.随意添加自己的答案或改进我的.我会等几天接受最好的一个.

java jxta p2p

4
推荐指数
1
解决办法
5909
查看次数