В настоящее время я могу передавать файл с мобильного на мобильный, если оба устройства находятся в одной сети, но не могу, если они находятся в другой сети. Я могу найти много IP-адресов с устройства, как показано ниже
- 127.0.0.1
- fe80 :: ca11: XXX: XXXX: 338c% rmnet_data2
- 2405: 205: ca0f: XXXX: XXXX: 103: 9313: 338c
- fe80 :: f2bc: XXX: XXXX: XXXX% rmnet_data1
- 2405: 205: XXX: XXXX: XXXX: XXXX: b94b: 6a1f
- 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);