Сокеты Беркли. Как установить соединение за NAT'ом?
Всем привет. В сетевом программировании новичок, но уже неплохо разобрался с основными принципами. Написал небольшой многопоточный чат на сокетах С++. Все хорошо работает, но только в моей локалке, где я - сервер, а ноуты - клиенты. Немного подумав, я понял, что, наверное, самый простой способ - купить VDS на винде (ну или взять дешевый на лине, но переписывать под линь соответственно). Но я более чем уверен, что можно обойтись и без этого. Немного поискав в инете, понял, что можно как-то пробросить порты на роутере. Но роутер у меня появился недавно (нет, я не динозавр, просто мне 17 и самому пришлось зарабатывать), поэтому опыта у меня с ним мало. В общем, если я прав, то подскажите, как пробросить порты на роутере, чтобы клиент за NAT'ом мог конектиться со мной. Если же нет, то скажите, как правильно.
Заранее спасибо.
В общем, если я прав, то подскажите, как пробросить порты на роутере, чтобы клиент за NAT'ом мог конектиться со мной. Если же нет, то скажите, как правильно.
у мальчика просто ЧСВ зашкаливает. он узнал С++, сокеты, а похвастаться некому. чего напали? сходил бы на улицу погулял, с бабой может познакомился бы, ей и похвастаться можно. она за такое пинать не будет, даже наоборот.
20ivs, всё правильно пишете. У меня бомбануло, когда я рассчитывал на вопрос о STUN на C++ или там обходе NAT через внешний сервер, а оказалось, что это идиотский вопрос про проброс, который гуглится на раз-два :)
понял, что можно как-то пробросить порты на роутере
Можно
Но у вас обязательно должен быть белый адрес выданный вам провайдером. Т.е вы не должны находится за NAT'ом провайдера. Иначе ничего не получится.
чтобы клиент за NAT'ом мог конектиться со мной.
Клиент за NAT'ом в любом случае сможет коннектится куда угодно, хоть к вам, хоть еще куда-то.
Главное чтобы вы были не за NAT'ом, ну или у вас должны быть проброшены порты.
Хм, такой длинный ответ, но АртемЪ почему-то так и не дал ответ на вопрос аффтора.
Не совсем понятно, при чём тут сокеты Беркли, C++ и чят, если вопрос про проброс портов.
Но предварительно стоит уточнить, поддерживает ли ваш маршрутизатор UPnP. Оборудование enterprise-уровня обычно не поддерживает UPnP по соображениям безопасности.