Я использую ноутбук как мой сервер и мобильное устройство в качестве моего клиента. Мне нужно отправлять сообщения между ними. Я могу это сделать, используя локальный IP-адрес ноутбука и подключая их как к той же сети Wi-Fi. Но как я использую ip-адрес, если мне нужно отправлять сообщения, хотя они подключены к другому интернету через различные Wi-Fi-сети. Это код в клиенте:Как подключить клиент и сервер с помощью ip-адреса, подключенного к Интернету через различные Wi-Fi?
client = new Socket("192.168.0.103", 4444); //local ip address of server
Это код в сервере:
serverSocket = new ServerSocket(4444); //Server socket
clientSocket = serverSocket.accept(); //accept the client connection
inputStreamReader = new InputStreamReader(clientSocket.getInputStream());
bufferedReader = new BufferedReader(inputStreamReader); //get the client message
String input=bufferedReader.readLine();
Могу ли я использовать шлюзы или статический или динамический IP-адрес, чтобы решить эту проблему? Если да, то как?
Ваша проблема не в проблеме программирования. Ваши проблемы связаны с конфигурацией маршрутизатора. Когда вы находитесь в одной сети, вы можете использовать свой внутренний IP-адрес. Когда вы находитесь в разных сетях, вам нужно указать публичный IP-адрес обеих сетей. Я бы предложил вам переместить вопрос на ServerFault (http://serverfault.com/?as=1), где люди, более опытные в сетях, смогут помочь вам лучше. –