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

Тема в разделе "Delphi - Сети", создана пользователем Vadik(R), 27 окт 2008.

  1. Vadik(R)

    Vadik(R) Well-Known Member

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

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    а может порті закріті?
     
  3. etc

    etc Гость

    А эта, все нужные порты, ... в фаерволах, .... открыты ?
     
  4. Vadik(R)

    Vadik(R) Well-Known Member

    Регистрация:
    12 дек 2007
    Сообщения:
    483
    Симпатии:
    0
    Ха, даже не знаю, как сказать. По крайней мере, когда брандмауэр спрашивает "разблокировать..." - нажимаю да. Больше никаких уведомлений. Касперский тоже молчит. По началу в программе делал вообще без ServerSocket1.Open; Думаю, чтобы слушать порт, на всякий случай надо его открыть. Для клиентского сокета я не открываю порт, так как думаю, что он откроется автоматически при послании данных. Хотя, может вся загвоздка в нем... Попробую.
     
  5. Kmet

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.018
    Симпатии:
    1
    а доступ в интернет случаем не через нат?!
     
  6. Vadik(R)

    Vadik(R) Well-Known Member

    Регистрация:
    12 дек 2007
    Сообщения:
    483
    Симпатии:
    0
    У меня DSL соединение, модем настроен как БРИДЖ. У друзей обычный 100 Мегабитный кабель, когда нажимают кнопку подключиться, там быстренько проскальзывает "Открытие порта pppoe" или что-то в этом роде. А на общий взгляд в программе все сделано верно? Почему-то мне кажеться, что ошибка в настройках свойств компонентов.
     
  7. Гость

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

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.018
    Симпатии:
    1
    скорее всего друзья и сидят за натом. походу у них домашняя сетка с одним внешним айпи. по идеи они, к серверу установленному у тебя, смогут подключится.
     
  9. Vadik(R)

    Vadik(R) Well-Known Member

    Регистрация:
    12 дек 2007
    Сообщения:
    483
    Симпатии:
    0
    Разве дом.рушники дают всем один и тот же IP?
    П.с. А с форума никто не уделит мне минутку для эксперимента?
    Если кто надумает, стучите в асю: 34-98-34-73. Само собой разумееться, я там всегда в онлайне ради такого дела :(
     
  10. etc

    etc Гость

    А что это?
     
  11. Vadik(R)

    Vadik(R) Well-Known Member

    Регистрация:
    12 дек 2007
    Сообщения:
    483
    Симпатии:
    0
    Извините, думал все пользователи из России. Дом.ру - Интернет провайдер, официальный сайт - http://www.citydom.ru/
     
  12. Chronon

    Chronon Гость

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

Поделиться этой страницей