IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Проблема с клиент-сервером
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской
Реальное имя: Сергей

Репутация: -  1  +


Есть клиент-серверное приложение, и в функционале есть чат(личка). Этот чат надо переделать под .net remoting, чтоб клиенты посылали сообщения друг-другу напрямую, не напрягая лишний раз сервак, для это с сервака каждому клиенту посылаются айпи его друзей. Проблема в следующем, если один из клиентов сидит за роутером, то получается с сервака( сервер на с++) отправить лишь айпи роутера
(Function returned:
Official name: homeuser52-36.ccl.perm.ru
Address type: AF_INET
Address length: 4
IPv4 Address #1: 62.16.52.36)
по которому начать взаимодействие клиенты не могут. Как получить полный адрес клиента?
З.Ы. Настройки роутера трогать нельзя.
Оба клиента подключены к серверу, у него есть их адреса, необходимо связать их между собой напряую.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской
Реальное имя: Сергей

Репутация: -  1  +


Цитата
А чем тебя не устраивает общение через порт А:5555? Нужно только реализовать еще один уровень (соответствует application) в твоем протоколе связи. То есть изначально, допустим, А общается с С через порт 5555 (это стандартный порт в твоей кухне). И Б тоже общается с С через свой порт 5555. Теперь Б хочет переслать большой блок данных непосредственно А, минуя С. Он шлет С спец запрос на связь с А. С отвечает Б: запрос принят, жди. Потом С говорит А (все по тому же стандартному управляющему каналу, через 5555) : сделай новый канал. Тогда А открывает новый порт (уже случайный, любой свободный) на С. С получает пакет от А и считывает оттуда айпи:порт. Эти данные он передает Б. После этого Б шлет на них, что хотел. Канал закрывается или остается открытым - это все уже вопросы реализации твоего протокола уровня приложения..
Замечание: все, конечно, через UDP.

Сделали вот по этой схеме, все бы хорошо, но есть проблема:
nat все также не пускает к клиенту А, до тех пор, пока клиент А сам не пошлет что-нибудь до клиента Б, после этого все работает нормально
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
legat   Проблема с клиент-сервером   7.10.2010 0:46
Lapp   Как получить полный адрес клиента? Хороший вопрос …   7.10.2010 2:40
мисс_граффити   посмотри в сторону dynDNS... либо можно попробоват…   7.10.2010 11:52
Lapp   посмотри в сторону dynDNS... либо можно попробоват…   7.10.2010 13:40
legat   Нашел вот такое: "На атомарном уровне структу…   7.10.2010 14:00
Lapp   Кажется придется сделать подобное.Н-да.. дурная г…   7.10.2010 14:08
мисс_граффити   Lapp, я про сервис, который называется dynDNS (сай…   7.10.2010 14:20
Lapp   я про сервис, который называется dynDNS (сайтик то…   7.10.2010 14:28
legat   "Самостоятельно инициировать соединение внешн…   7.10.2010 14:25
legat   Ок, спасибо, будем пробывать   7.10.2010 18:55
legat   В общем ситуация такая: Клиент А,который за Nat, у…   8.10.2010 0:00
Lapp   В общем ситуация такая: Клиент А,который за Nat, у…   8.10.2010 3:13
legat   Я вроде понял, как что устроено. У меня не получ…   8.10.2010 3:46
Lapp   А чем тебя не устраивает общение через порт А:5555…   8.10.2010 4:30
legat   Спасибо за быстрый ответ=) Такая идея меня тоже по…   8.10.2010 4:41
Lapp   мне необходимо, чтобы связь между клиентами шла че…   8.10.2010 5:48
legat   Сделали вот по этой схеме, все бы хорошо, но есть…   9.10.2010 2:35
Lapp   nat все также не пускает к клиенту А, до тех пор, …   9.10.2010 2:44
legat   Да Решили, где возможно делать по udp, а если соо…   9.10.2010 3:02


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 15.05.2024 22:44
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name