Как осуществить передачу файлов P2P в другую сеть (пример 4G и wifi) с помощью сокета Android (Java)? - PullRequest
0 голосов
/ 30 мая 2019

В настоящее время я могу передавать файл с мобильного на мобильный, если оба устройства находятся в одной сети, но не могу, если они находятся в другой сети. Я могу найти много IP-адресов с устройства, как показано ниже

  1. 127.0.0.1
  2. fe80 :: ca11: XXX: XXXX: 338c% rmnet_data2
  3. 2405: 205: ca0f: XXXX: XXXX: 103: 9313: 338c
  4. fe80 :: f2bc: XXX: XXXX: XXXX% rmnet_data1
  5. 2405: 205: XXX: XXXX: XXXX: XXXX: b94b: 6a1f
  6. 25.119.XXX.XXX

Я могу создать серверный сокет, используя порт 7777

Socket server = new Socket(7777);
Socket acceptedSocket = server.accept();//when client accept socket, it returns client socket

Но когда я пытаюсь подключить клиентский сокет, используя указанные выше IP-адреса и порт 7777, Мой клиентский сокет не может подключиться, потому что эти IP(s) являются внешними IP и могут быть запрещены для подключения клиента.Поэтому, если кто-то предоставит помощь или руководство по соединению двух мобильных объектов с другой сетью без сервера.

Я хочу передать файл с двумя мобильными объектами с другим местоположением напрямую, используя сокетное соединение.Я могу передать файл, когда они находятся в том же Wi-Fi.

Мой код подключения клиента, как:

// инициализация сокета

 Socket socket = new Socket();
 SocketAddress socketAddress = new InetSocketAddress(peer.getServerIP(), peer.getPort());
 socket.connect(socketAddress, 15000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...