![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
rdnv |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.2.2009 Репутация: нет Всего: нет |
Я написал клиент-сервер на winsock2 по протоколу TCP. Клиент соединяется с сервером, если я это делаю на одном компьютере (по локалке, по идее, тоже должен), и нормально работает. Но в Интернете они не устанавливают соединения (ошибка 10060 - timeout, но врядли в этом проблема), хотя IP адрес сервера клиент знает.
Вопрос: почему такое может быть? Может нужно указывать особые флаги при подключении, или что-то еще? По-идее, по TCP связь в глобальной сети должна устанавливаться. Спасибо. |
|||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Операционная система?
Файрволл? Обычно он не пускает в сеть, если он есть..... |
|||
|
||||
rdnv |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.2.2009 Репутация: нет Всего: нет |
Windows XP.
Файлволла нет. Только брэндмауэр Windows. |
|||
|
||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 1 Всего: 23 |
кто и кому что должен? IP-адресс сервера с машини клиента пингуется? IP-адресс сервера точно не динамичный? Код на всякий случай можно показать? |
|||
|
||||
rdnv |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.2.2009 Репутация: нет Всего: нет |
Клиент должен с сервером коннектиться.
А если IP динамичный, что-то меняется? Ведь он даже если будет меняться при каждом новом подключении к Интернету, то он всегда будет известен. |
|||
|
||||
Олег2005 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Странно. IP-сервера должен быть постоянный. Равно как и порт. Серверам динамические адреса НЕ ВЫДАЮТСЯ. Где расположен ваш сервер? В той же локалке или вне ее?
Он тоже может запрещать выход клиента. |
||||
|
|||||
rdnv |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.2.2009 Репутация: нет Всего: нет |
Сервер на обычном компьютере, который подключен к Интернету. А клиент тоже стоит на компе, который подключен к Интернету. И вот этот клиент не подключается к серверу, хотя если запустить сервер на компе клиента, то он подключится.
Каким таким серверам? Сервер, в моем случае, это обычная программа, которая открывает порт и его слушает. А вот компьютеру при подключении в Интернету, провайдер может давать разные IP... |
|||
|
||||
Олег2005 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Обычная программа, которая открывает порт и слушает на нем сеть - называется сервером. ![]()
А что тут неизвестного? На шлюзе провайдера стоит сервер DHCP - только и всего. Только вот вопрос в том, что если сервер стоит на компе внутри сетки, и у него нет постоянного адреса, то вот тут и проблемы. Все сервера должны иметь ПОСТОЯННЫЙ адрес - если он работает внутри локалки, то постоянный серый адрес, а для Инета - постоянный реальный. Клиент - какой угодно - статический или динамический. Это сообщение отредактировал(а) Олег2005 - 13.2.2009, 13:31 |
||||
|
|||||
rdnv |
|
||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.2.2009 Репутация: нет Всего: нет |
Я это и написал.
В каком смысле? Я про "неизвестное" ничего не говорил... А что делать, если сервер запущен на компьютере, но комп клиента не пингуется с тем, где сервер? |
||||
|
|||||
SVN74 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 5.5.2008 Где: Комсомольск на Дн епре Репутация: 1 Всего: 18 |
Читать, там все написано...
Йон Снейдер Эффективное программирование TCP/IP ================================= "Совет 12. Не думайте, что программа, работающая в локальной сети, будет работать и в глобальной" |
|||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
||||
|
||||
rdnv |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.2.2009 Репутация: нет Всего: нет |
Спасибо за советы.
|
|||
|
||||
rdnv |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.2.2009 Репутация: нет Всего: нет |
Вот какая штука...
Я раньше запускал сервер на компе А и подключался с компа Б. Ничего не получалось. Теперь я сделал так: сервер запускаю на компе Б, а коннекчусь с компа А. То есть поменял их местами. Самое интересно, что так коннект происходит и нормально работает! Почему? Что-то не пускает клиент на компе Б? |
|||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Вы все таки опишите вашу конфигурацию - где клиент(есть ли у него постоянный адрес, серый или реальный - или DHCP-адрес)
Так же и о сервере - т.е. о компах А и Б - всю информацию. Не зная конфигурации вашей сети (подсети и тд) и местоположения компов - т.е. практически ничего не зная - нельзя вам что-то подсказать . |
|||
|
||||
Comm |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 31.8.2007 Где: Санкт-Петербург Репутация: -1 Всего: 1 |
Это значит что на компе Б есть выделенный внешний ай пи адрес ,а на компе А его нету. У меня вот у провайдера услуга внешний ай пи адрес стоит 150р в месяц,если её подключить то люди из вне смогут ко мне конектится(разумеется если я это разрешу) иначе ничего не получится.
Это сообщение отредактировал(а) Comm - 18.2.2009, 08:12 -------------------- =))))) ![]() |
||||
|
|||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |