![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Клиент-Сервер
grisme © (2006-05-04 18:59:00)Написал Клиент-Сервер(на WinSock).Протестил на локалхосте-все ok! Ставлю сервер на другой комп, клиент у меня. Другой комп с выделенкой. Пытаюсь законнектиться с сервером - не слышит.:( Как можно достать реальный IP(ака "не внутрисетевой")?потому что коннектился по внутрисетевому IP.)Понимаю,глупо, но реальный не знаю как программно выудить..:-X
Slym (2006-05-05 16:17:00) [1]4. Клиенты из инета спокойно конектятся по заранее известному IP:порту и программно им ничего такого не надо
Slym (2006-05-05 16:15:00) [2]1. У меня в локальной сети стоит сервер, скажем с адресом 192.168.1.1
2. Локальные клиенты к нему конектятся по локальному адресу...
3. ПОРТ! этого сервер "виден" из интернета аж по 2 адресам и можно сделать еще больше, и порты разные...
реальный сервер ничего не знает о существовании этих 2 адресов, портов... ему всеравно... он привязан к 1 IP и к 1 порту- 192.168.1.1:80
вывод програмно внешний IP узнать НИКАК!
Сергей М. (2006-05-05 15:30:00) [3]
> внутрисетевой адрес компа, где стоит сервер
Значит должен был поиметь коннект.
А если нет поимел - изволь привести дословный текст сообщения об отказе ...
grisme (2006-05-05 14:42:00) [4]Пасиба, щас пойду попробую.)
Сергей М. (2006-05-05 14:34:00) [5]
> как получить НЕвнутрисетевой адрес программно?
>
Оч просто.
[WSAAsync]GetHostByName
при условии, что хост сервера фигуриррует в DNS
grisme (2006-05-05 14:23:00) [6]
> Вот как ты по-чурекски объяснил - так я и понял)
Как умею уж...^_^
> Ну так вот и рассказывай. что ты там на стороне клиента
> пытался тыкать в качестве имени или адреса хоста сервера
> ..
внутрисетевой адрес компа, где стоит сервер..)я понимаю,глупо, но как получить НЕвнутрисетевой адрес программно?
Сергей М. (2006-05-05 14:17:00) [7]
> grisme © (05.05.06 14:07) [6]
> Вы просто немного не так поняли.
Вот как ты по-чурекски объяснил - так я и понял)
> Пытаюсь законнектиться с сервером - не слышит
Ну так вот и рассказывай. что ты там на стороне клиента пытался тыкать в качестве имени или адреса хоста сервера ..
grisme (2006-05-05 14:08:00) [8]
> Eraser © (05.05.06 01:11) [1]
Была такая мысль,но нужен такой сервер..:(
grisme (2006-05-05 14:07:00) [9]
> Сергей М. © (05.05.06 13:44) [5
Вы просто немного не так поняли..:) Два компа НЕ в одной лок.подсети.
Сергей М. (2006-05-05 13:44:00) [10]Я не понимаю, при чем здесь "выделенка" ?
Предположим, имеется лок.сеть класса "С".
В этой сети есть два хоста с внутрисетевыми адресами 192.168.0.1 и 192.168.0.2.
На хосте с адресом 192.168.0.1 работает серверное приложение, "слушающее" на порту N, на хосте с адресом 192.168.0.2 работает клиентское приложение, пытающееся подключиться к серверу по адресу 192.168.0.1:N
В чемпроблема ? С какого боку тут какая-то там "выделенка" ?
grisme (2006-05-05 13:11:00) [11]Сергей М. © (05.05.06 09:21) [3]
Программа-Сервер стоит на компе с выделенкой. Я знаю только внутрисетевой IP этой машины. Сервер в простое "слушает" порт,если кто-то коннектиться, он акцептит его и посылает пакет,типа "Дарова, Клиент!":)
Клиент не может подконнектиться,что само сабой естесственно. Повторю вопрос:"Как бы я программно мог узнать его реальный IP?" Подскажите плиз,наверняка,кто-нибудь уже сталкивался...
Slym (2006-05-05 09:21:00) [12]grisme © (04.05.06 18:59)
Как можно достать реальный IP
Узнать у провайдера
Кроме если сервер выходит в инет через некое устройство с NATом, то надо организовать проброс порта со шлюза на сервер... :) ты же это сможешь...
Сергей М. (2006-05-05 09:21:00) [13]
> коннектился по внутрисетевому IP
> не слышит
Как это так "не слышит" ?
Eraser (2006-05-05 01:11:00) [14]
> grisme © (04.05.06 18:59)
использовать третью сторону, т.е. сервер с открытым IP и соединяться через него, как это сделано в сети ICQ например.