通过蜂窝网络的Peer-2-peer或客户端/服务器连接来连接2个android设备

时间:2017-12-02 02:13:43

标签: java android

我想创建一个通过手机网络连接2个Android手机的Android应用程序。有点像聊天应用。我对android很新。这是我需要的视觉效果 -

<?php

namespace CarBundle\DataFixtures\ORM;

use CarBundle\Entity\Car;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\DataFixtures\DependentFixtureInterface;
use Doctrine\Common\Persistence\ObjectManager;

class LoadCars extends Fixture implements DependentFixtureInterface
{

    /**
     * Load data fixtures with the passed EntityManager
     *
     * @param ObjectManager $manager
     */
    public function load(ObjectManager $manager)
    {
        $car1 = new Car();
        $car1->setPrice(234);
        $car1->setYear(22344);
        $car1->setNavigation(true);
        $car1->setModel($this->getReference("X1"));
        $car1->setMake($this->getReference("BMW"));

        $car2 = new Car();
        $car2->setPrice(2122);
        $car2->setYear(2467);
        $car2->setNavigation(false);
        $car2->setModel($this->getReference("Passat"));
        $car2->setMake($this->getReference("VW"));

        $manager->persist($car1);
        $manager->persist($car2);
        $manager->flush();
    }

    /**
     * This method must return an array of fixtures classes
     * on which the implementing class depends on
     *
     * @return array
     */
    function getDependencies()
    {
        return array(
            LoadDictionary::class,
        );
    }
}

AndroidPhone1--------->send request(message saying yes/no) to connect over cellphone network------>AndroidPhone2

AndroidPhone2 accepts

AndroidPhone1<--------->connection over cellphone network<------>AndroidPhone2

我研究了一下并听到了xmpp,但对我来说并不清楚。任何指向启动的指针,如socket,AWS或任何东西都非常感谢。谢谢。

1 个答案:

答案 0 :(得分:1)

根据您的要求,您可以使用新发布的名为This example的服务以及DynamoDB。 AppSync通过网络套接字支持订阅者,该套接字允许从客户端 - >服务器和服务器 - >客户端进行全双工通信和推送消息。

  1. 从您的AWS账户请求AppSync预览。申请表AWS AppSync
  2. 使用GraphQL在AppSync中创建架构。
  3. 创建存储和其他连接。(根据您的使用情况,您可以从两层到三层后端。例如,如果您需要进一步处理和应用规则,您可以使用API​​网关 - &gt; Lambda - &gt; DynamoDB和Stream从那里到AppSync,或者对于简单的用例,您可以直接将消息推送到DynamoDB,因为您具有对DynamoDB具有细粒度访问控制的临时访问权限。注意:在这里您可以使用AWS Cognito获取那些令牌也支持认证)
  4. 编写一个订阅App Sync并将消息推送到后端的移动应用程序。
  5. 您可以考虑另外两个选项。

    • 使用Cognito Sync。
    • 使用前面提到的没有AppSync但使用AWS IOT Websockets的堆栈。