Почему программа не работает в Интернете

Vadik(R)

Well-Known Member
12.12.2007
469
0
#1
Вот решил составить программу для чата. Возможно, кто-то поругает за реализацию соединения (посылаем "1" и "2"), но это пока эксперементы. Исходники довольно большие, поэтому смотрите все во вложении.
А теперь пояснение к этому всему. В архиве лежат клиент и сервер. По началу надо запускать сервер. Если неохота вдумываться в весь код, то технология соединения такая: запускается сервер, затем запускается клиент. Клиент посылает серверу "1" с интервалом в 1 секунду. Как только сервер получит "1", он посылает обратно клиенту тоже "1" и с интервалом в 1 секунду, но уже используя другое соединение и порт. Вот. Если клиент получит от сервера "1", то он шлет ему "2"(то есть, клиент понял, что достучался до сервера) и ждет соответственно, пока закончиться очередь из "1" сервера и сервер пошлет ему тоже "2" как символ конца очереди. После этого считаеться, что соединения установилось и делаеться активность кнопки "Отправить". Так же формы меняют заголовки на "Клиент - Подключен" и "Сервер - Подключен". Так вот, это все технология. На локальном (одном) компе все работает прекрасно. В локальной сети(там, где адреса вида 192.168.1.xxx) из 2 компьютеров, тоже все работает прекрасно.
А вот в интернете не пашет. Само собой, нажимаю и кнопку разблокировать из предупреждения брандмауэра, и в компоненты вбиваю внешние IP-адреса - никак. Уже замучался сам и своих друзей тоже замучал своим эксперементом. В чем может быть проблема? Может надо интервал "пинга" сделать более 1 секунды или что-то поменять в свойствах компонентов?
Технологию пинга из "1" и "2" прошу ругать только в том случае, если действительно именно в ней ошибка установления связи. Заранее ОГРОМНЕЙШЕЕ СПАСИБО.
Ах, да, вот и вложение, кстати. :)
Посмотреть вложение ___.rar
 
E

etc

Гость
#3
А эта, все нужные порты, ... в фаерволах, .... открыты ?
 

Vadik(R)

Well-Known Member
12.12.2007
469
0
#4
Ха, даже не знаю, как сказать. По крайней мере, когда брандмауэр спрашивает "разблокировать..." - нажимаю да. Больше никаких уведомлений. Касперский тоже молчит. По началу в программе делал вообще без ServerSocket1.Open; Думаю, чтобы слушать порт, на всякий случай надо его открыть. Для клиентского сокета я не открываю порт, так как думаю, что он откроется автоматически при послании данных. Хотя, может вся загвоздка в нем... Попробую.
 

Kmet

Well-Known Member
Java Team
25.05.2006
1 036
8
#5
а доступ в интернет случаем не через нат?!
 

Vadik(R)

Well-Known Member
12.12.2007
469
0
#6
У меня DSL соединение, модем настроен как БРИДЖ. У друзей обычный 100 Мегабитный кабель, когда нажимают кнопку подключиться, там быстренько проскальзывает "Открытие порта pppoe" или что-то в этом роде. А на общий взгляд в программе все сделано верно? Почему-то мне кажеться, что ошибка в настройках свойств компонентов.
 

Гость
#7
Попробуй писать логи , с ними легче разобраться в проблеме .
:(
 

Kmet

Well-Known Member
Java Team
25.05.2006
1 036
8
#8
скорее всего друзья и сидят за натом. походу у них домашняя сетка с одним внешним айпи. по идеи они, к серверу установленному у тебя, смогут подключится.
 

Vadik(R)

Well-Known Member
12.12.2007
469
0
#9
походу у них домашняя сетка с одним внешним айпи.
Разве дом.рушники дают всем один и тот же IP?
П.с. А с форума никто не уделит мне минутку для эксперимента?
Если кто надумает, стучите в асю: 34-98-34-73. Само собой разумееться, я там всегда в онлайне ради такого дела :(
 
C

Chronon

Гость
#12
Твоя прога будет работать только в случае если и у клинета и сервера белый айпи, а также должен быть правельно настроен фаервал и оборудование(нат у модема в режиме роутер и т.д.).