Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не работает по внешнему IP 
V
    Опции темы
Samotnik
Дата 21.1.2009, 03:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: нет
Всего: 191



есть очень просто код
Он работает, только токда, когда в клиенте выставить IP  localhost  а на других (внешних) программа не работает 
ПОЧЕМУ ?
Каким образом я могу проверить свое приложение (работает оно по сети или нет) на одном компьютере ?
СЕРВЕР
Код

package testConnection;

public class TServer {
    final static      int   serverPort   = 3456;                      

    public static void main(String args[]) {
          java.net.ServerSocket   sock = null;
          java.net.Socket         clientSocket = null;
          java.io.PrintWriter     pw   = null;
          java.io.BufferedReader  br   = null;

          try {
                sock = new java.net.ServerSocket(serverPort);
                System.out.println("waiting for client to connect");
                clientSocket = sock.accept();
                System.out.println("client has connected");
                pw   = new java.io.PrintWriter(clientSocket.getOutputStream(),true);
                br   = new java.io.BufferedReader(
                new java.io.InputStreamReader(clientSocket.getInputStream()));
                String msg = br.readLine();
                System.out.println("Message from the client >" + msg);
                pw.println("Got it!");

                pw.close();
                br.close();
                clientSocket.close();
                sock.close();

          } catch (Throwable e) {
                System.out.println("Error " + e.getMessage());
                e.printStackTrace();
          }
    }
}


КЛИЕНТ
Код

package testConnection;

public class TClient {
    final static  String    serverIPname = "localhost"; 
    //вот тут по localhost работает без проблем, а с другими IP  не работает !!!!
    final static  int       serverPort   = 3456;

    public static void main(String args[]) {
          java.net.Socket         sock = null;                              
          java.io.PrintWriter     pw   = null;
          java.io.BufferedReader  br   = null;

          try {
                sock = new java.net.Socket(serverIPname,serverPort);
                pw   = new java.io.PrintWriter(sock.getOutputStream(), true);
                br   = new java.io.BufferedReader(new java.io.InputStreamReader(sock.getInputStream()));
                System.out.println("Connected to Server");

                pw.println("Message from the client");
                System.out.println("Sent message to server");
                String answer = br.readLine();
                System.out.println("Response from the server >" + answer);

                pw.close();
                br.close();
                sock.close();

          } catch (Throwable e) {
                System.out.println("Error " + e.getMessage());
                e.printStackTrace();
          }
    }
}

PM MAIL   Вверх
ecologist
Дата 21.1.2009, 08:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 452
Регистрация: 28.2.2007

Репутация: 1
Всего: 9



1. Хотелось бы знать что конкретно не работает ? Тут вообщем-то экстрасенсов не наблюдается
2. Подставлялось имя машины или конкретный IP ?
3. С другой машины пингуется сервер ?
PM MAIL   Вверх
Samotnik
Дата 21.1.2009, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: нет
Всего: 191



Цитата(ecologist @  21.1.2009,  07:34 Найти цитируемый пост)
1. Хотелось бы знать что конкретно не работает ? 

запусти этот код на одной машине, этот примерчик маленький, много памяти и времени не займет

Работает этот код так :  Вводиш  localhost - работает, вводиш другой  IP  адресс - не работает  smile! 
 
Цитата(ecologist @  21.1.2009,  07:34 Найти цитируемый пост)
Подставлялось имя машины или конкретный IP ?

код клиента 14 строка 
Подставляется IP любой  smile  но работает только когда стоит  localhost (или 127.0.0.1)

Цитата(ecologist @  21.1.2009,  07:34 Найти цитируемый пост)
3. С другой машины пингуется сервер ? 

а  я откуда знаю  smile  я же написал
Цитата(Samotnik @  21.1.2009,  02:27 Найти цитируемый пост)
Каким образом я могу проверить свое приложение (работает оно по сети или нет) на одном компьютере ?


PM MAIL   Вверх
ecologist
Дата 21.1.2009, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 452
Регистрация: 28.2.2007

Репутация: 1
Всего: 9



Цитата(Samotnik @  21.1.2009,  09:29 Найти цитируемый пост)
а  я откуда знаю  smile  я же написал

Не понял. А как ты тогда определил, что с другим IP не работает ? Кстати у меня все работает на разных машинах.

Обычно если у тебя через 127.0.0.1 работает - то по идее должно быть все нормально и сдругими хостами.

Это сообщение отредактировал(а) ecologist - 21.1.2009, 10:26
PM MAIL   Вверх
Samotnik
Дата 21.1.2009, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: нет
Всего: 191



ecologist, пасибо
PM MAIL   Вверх
serghd
Дата 27.10.2009, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



Цитата(ecologist @ 21.1.2009,  10:25)
Цитата(Samotnik @  21.1.2009,  09:29 Найти цитируемый пост)
а  я откуда знаю  smile  я же написал

Не понял. А как ты тогда определил, что с другим IP не работает ? Кстати у меня все работает на разных машинах.

Обычно если у тебя через 127.0.0.1 работает - то по идее должно быть все нормально и сдругими хостами.

У меня такая же проблема. Клиент-сервер на локали работает, удалённо - нет (друг у себя запускал клиента с айпишником сервера моей машины). У меня внешний белый (уникальный) ip, для клиента пишу 
Код

s = new Socket(szServerURL , 61200);

где szServerURL - ip сервера (т.е. моей же локальной машины), соединения нет. Где взять тот ip, который нужно прописать для клиента, чтобы был коннект,  может кто-то подскажет? А то ведь чат на локали это несерьёзно))

Это сообщение отредактировал(а) serghd - 27.10.2009, 22:39
PM MAIL   Вверх
Galaran
Дата 28.10.2009, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 25.5.2009

Репутация: нет
Всего: 2



Поидее с белым IP должно работать нормально. Может firewall блочит ?

Цитата(serghd @  27.10.2009,  22:35 Найти цитируемый пост)
Где взять тот ip, который нужно прописать для клиента, чтобы был коннект,  может кто-то подскажет?


2ip.ru
PM MAIL   Вверх
serghd
Дата 28.10.2009, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



Цитата(Galaran @ 28.10.2009,  01:06)
Поидее с белым IP должно работать нормально. Может firewall блочит ?

Цитата(serghd @  27.10.2009,  22:35 Найти цитируемый пост)
Где взять тот ip, который нужно прописать для клиента, чтобы был коннект,  может кто-то подскажет?


2ip.ru

Оттуда всегда и сам смотрю и пинг по нему есть, коннекта, если не локаль, всё равно нет
PM MAIL   Вверх
serghd
Дата 28.10.2009, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



проблему решил, дело было, как не банально звучит, в роутере
PM MAIL   Вверх
Galaran
Дата 28.10.2009, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 25.5.2009

Репутация: нет
Всего: 2



С этого надо было и начинать =)
PM MAIL   Вверх
serghd
Дата 28.10.2009, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



так никто ж не поделился опытом
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.1029 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.