LINUX.ORG.RU

[Kein Skype] как осуществить подключение в ситуации...


0

0

при чём тут линукс - почти не при чём.

почему не в девелоперс - тут быстрее отвечают

почему не на винфаке - знаю, что здесь люди адекватные, какие там - не знаю.

вопрос: хочу без скайпа говорить овер интернет. написать приложения для обеих сторон - то, что интересно. говорят и кодеки недавно открыли какой-то компании. в чём вижу первую проблему - установка соединения. вариант решения - на другой стороне поставить серверную часть (порт открыть, который будет слушать). в него подолбиться - ну и как соединение установили - всё прекрасно. в чём проблема: как я понимаю, расстояние между мной и целевым компом что-то вроде нат - интернет - адсл - цель. на меня вешать слушающий порт никак нельзя. на ту машину можно. вопрос: как определить IP цели за натом (провайдеры раздающие интернеты - нат вроде?) и как именно происходит подключение, если знать внешний/внутренний IP?

ссылки или куда копать - много благодарен. знать только как делать подключения к прямым адресам.


Ответ на: комментарий от slyjoe

ничего не понял. это про то, что нат-сервер инкапсулирует адрес с которого шёл пакет внутрь пакета?

так вопрос в том, как создать пакет, чтобы он придя на нат-сервер распоковался и ушёл к нужному компу уже внутри сети. т.е. слушающий сокет внутри сети. а настройки провайдера я точно переделать не могу

gunja
() автор топика
Ответ на: комментарий от gunja

Я такую хрень уже писал, только с видео. У меня был сервак и клиенты. Клиент коннектится к серваку и дает ему свой сокет. Второй клиент коннектится к серваку и дает свой сокет. У сокета есть входящий поток и исходящий. Сервер это все контролит. И должен быть доступен для клиентов (ну т.е. по IP). А клиенты друг для друга напрямую могут быть не доступны.

slyjoe
()
Ответ на: комментарий от slyjoe

для этого надо внешний сервер держать. а мне очень бы хотелось обойтись без 3-го участника.

а много клиентов-сервер это не то... не то это

gunja
() автор топика
Ответ на: комментарий от slyjoe

правильно понимаю, что прямое соединение (комп к компу) между 2-мя машинами, каждая из которых за натом не осуществить без 3-ей стороны?

gunja
() автор топика
Ответ на: комментарий от gunja

есть вероятность, что можно, но мне кажется что нет.

slyjoe
()
Ответ на: комментарий от gunja

правильно понимаю, что прямое соединение (комп к компу) между 2-мя машинами, каждая из которых за натом не осуществить без 3-ей стороны?

Почти правильно. На самом деле это зависит от типа NAT'а. Если обе машины за симметричным NAT'ом, то никак. Тип NAT'а можно определить с помощью STUN-сервера.

Deleted
()
Ответ на: комментарий от Deleted

> Тип NAT'а можно определить с помощью STUN-сервера

спасибо. копать-то куда? на той стороне Волга-Телеком вроде как. ADSL. видел в интернетах, что на нат-сервере можно написать правила прокидывания портов. но это скорее ситуация, когда контора имеет 1 внешний IP через который роутит всю контору. в моём случае контора - очень большая контора, которой сказать как форвардить порты я не скажу. надо другое решение

gunja
() автор топика
Ответ на: комментарий от gunja

копать-то куда?

По поводу STUN? В соответствующий RFC. Публичных STUN-серверов море, большинство из них держат создатели VoIP-софта. Но естественно, STUN - это не решение проблемы, а способ проблему (наличие непробиваемого NAT'а) автоматически обнаружить =).

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.