Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 28.10.2008, 11:02   #1
Vadik(R)
Пользователь
 
Регистрация: 10.03.2008
Сообщений: 68
Вопрос Почему программа не работает в Интернете

Вот решил составить программу для чата. Возможно, кто-то поругает за реализацию соединения (посылаем "1" и "2"), но это пока эксперементы. Исходники довольно большие, поэтому смотрите все во вложении.
А теперь пояснение к этому всему. В архиве лежат клиент и сервер. По началу надо запускать сервер. Если неохота вдумываться в весь код, то технология соединения такая: запускается сервер, затем запускается клиент. Клиент посылает серверу "1" с интервалом в 1 секунду. Как только сервер получит "1", он посылает обратно клиенту тоже "1" и с интервалом в 1 секунду, но уже используя другое соединение и порт. Вот. Если клиент получит от сервера "1", то он шлет ему "2"(то есть, клиент понял, что достучался до сервера) и ждет соответственно, пока закончиться очередь из "1" сервера и сервер пошлет ему тоже "2" как символ конца очереди. После этого считаеться, что соединения установилось и делаеться активность кнопки "Отправить". Так же формы меняют заголовки на "Клиент - Подключен" и "Сервер - Подключен". Так вот, это все технология. На локальном (одном) компе все работает прекрасно. В локальной сети(там, где адреса вида 192.168.1.xxx) из 2 компьютеров, тоже все работает прекрасно.
А вот в интернете не пашет. Само собой, нажимаю и кнопку разблокировать из предупреждения брандмауэра, и в компоненты вбиваю внешние IP-адреса - никак. Уже замучался сам и своих друзей тоже замучал своим эксперементом. В чем может быть проблема? Может надо интервал "пинга" сделать более 1 секунды или что-то поменять в свойствах компонентов?
Технологию пинга из "1" и "2" прошу ругать только в том случае, если действительно именно в ней ошибка установления связи. Заранее ОГРОМНЕЙШЕЕ СПАСИБО.
Ах, да, вот и вложение, кстати.
Вложения
Тип файла: rar Чат.rar (351.5 Кб, 17 просмотров)
Vadik(R) вне форума Ответить с цитированием
Старый 28.10.2008, 11:11   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

обе стороны доступны друг другу ?
сделайте постенькое приложение: клиент : IdTcpClient
сервер IdTcpServer и проверьте устанавливаетсмя ил соединение между компьютерами, а потом уже мыслите в остальные стороны
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 29.10.2008, 18:59   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,118
По умолчанию

Цитата:
Сообщение от Vadik(R) Посмотреть сообщение
он посылает обратно клиенту тоже "1" и с интервалом в 1 секунду, но уже используя другое соединение и порт.
серверу в "Интернете" непонятен IP адрес из локальной сети(он находится в другой сети(адресном пространстве сети).

Сервер должен только отвечать на запросы в рамках соединения
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 02.11.2008, 14:36   #4
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Если сервер висит на чистом IP-адресе, то до него можно достучаться хоть из преисподни, а если провайдер инет-соединения подменяет внешний IP-адрес своим, то бесполезно. Это требование, предъявляется только серверу.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 02.11.2008, 23:02   #5
littlecoder
Пользователь
 
Аватар для littlecoder
 
Регистрация: 01.11.2008
Сообщений: 51
По умолчанию

В этом случае быстрым ришением будет только привязка к ай пи.
Самый лучший компьютер, к тому же единственный, который можно производить в большом количестве с помощью неквалифицированного труда, — это человек.
littlecoder вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме от 7000 рублей в месяц



Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему не работает domovoi Общие вопросы Delphi 1 15.10.2008 17:42
Почему моя программа РАБОТАЕТ!!! aesoem Общие вопросы Delphi 3 09.05.2008 22:50
Подскажите почему не работает программа??? Danilyuk Помощь студентам 2 25.01.2008 10:15


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Скидки на курсы GeekBrains 40%, выбирайте программу для себя