Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Ошибка при скачивании файлов из интернета Вылезает две ошибки при попытке скачать файл из интернета. Ссылку указал прямую на текстовый файл. #include <iostream> #include <urlmon.h> using namespace std; Alex_121, не подключены библиотеки, неверно сконфигурирован проект https://www.cyberforum.ru/ cpp-networks/ thread2334156.html C++ Организация интернет чата RAD Tokyo c++ https://www.cyberforum.ru/ cpp-networks/ thread2340699.html
Всем привет! Недавно написал чат для локальной сети, но увы через внешний IP сообщения не отправляются. Сам удивился, что есть компоненты на которых удобно в несколько строк это можно организовать. ...
C++ Передача вектора от сервера клиенту
Логика задания такая: клиент посылает серверу, скажем, дату, а тот находит все детали, сделанные на разных предприятиях в этот день и передает клиенту. С передачей структуры, в качестве которой я... Не найдя ошибку, я усомнилась, можно ли вообще передавать таким образом вектор от клиента к серверу и наоборот.Да, так нельзя. И с передачей структур за пределы хоста все не очень хорошо. При...
C++ Разработать сервер по моделям WSAAsyncSelect и WSAEventSelect https://www.cyberforum.ru/ cpp-networks/ thread2337895.html
Добрый вечер! Есть вот такой сервер, работающий по модели select: #define WIN32_LEAN_AND_MEAN #include <fstream> #include <Winsock2.h> #include "stdafx.h" #include <iostream>
C++ Сообщение доходит в перемешанном виде https://www.cyberforum.ru/ cpp-networks/ thread2340508.html
Добрый день! С клиента отправляю запрос на сервер по установленному соединению. Размер сообщения(json) примерно 2-3 Кб. В начало текста вставляю метку, в конец также. select() , который прослушивает... Steve_g, может быть одно из: 1) неправильно собираете сообщение на принимающей стороне перед парсингом JSON (покажите ProcessRequest()); 2) посылка другого клиента как-то вклинилась в собираемое...
C++ C++ Асинхронные сокеты Дайте ссылку на хороший гайд по асинхронным сокетам. Везде используются синхронные. что такое асинхронные сокеты? неблокирующие? https://www.cyberforum.ru/ cpp-networks/ thread2338947.html
C++ Клиент посылает строку, а сервер заменяет каждый 4 символ на % Серверная часть #include "stdafx.h" #include <winsock2.h> #include <iostream> #include <stdio.h> #include <stdlib.h> #pragma comment(lib, "ws2_32.lib") using namespace std; poplan, начнем с самого очевидного: // ... char *Res; // ... send(s2, Res, sizeof(Res) - 2, 0); // ... Т.к. Res - указатель на строку, то скорее всего вместо sizeof(Res) вы хотели strlen(Res)... https://www.cyberforum.ru/ cpp-networks/ thread2333081.html C++ Какими средствами проще всего создать сайт-блог? https://www.cyberforum.ru/ cpp-networks/ thread2341427.html
Извините если пишу не туда, Какими средствами проще всего создать сайт-блог если я знаю только С++ на каком языке с такими знаниями проще будет это реализовать? денверя предпочитаю OpenServer
C++ Отправление сообщения по почте не нашел нормально примера в гугле, может вы поможете? что вы имеете ввиду? со своего компьютера отправить email на какой-то почтовый сервер? https://www.cyberforum.ru/ cpp-networks/ thread2339587.html C++ Не отправляются все заголовки https://www.cyberforum.ru/ cpp-networks/ thread2336500.html
Доброго времени. Пытаюсь отправить заголовок на сервер: int main(int argc, char** argv) { CURL *curl_handle = curl_easy_init(); struct curl_slist *headers = NULL; ... headers = curl_slist_append(headers, "Host: localhost"); // итд
C++ Залогиниться на сайте https://www.cyberforum.ru/ cpp-networks/ thread2340546.html
Есть код который должен залогинится на сайте log.finalsurge.com. char* szHead = "Host: log.finalsurge.com\r\n" "Content-Length: 159\r\n" "Content-Type:... А зачем это на WinAPI делать? Ты только C++ знаешь? Так возьми C++ Builder. Есть и библиотеки для HTTP... Тот же curl... В качестве сниффера используй Fiddler или Postman. Запрос придется...
C++ Ns3 network simulator https://www.cyberforum.ru/ cpp-networks/ thread2339323.html
Здравствуйте, кто работает в ns3 network simulator с сетями WI-FI и различными протоколами, так же с графическим интерфейсом для NS3. Есть несколько вопросов и задание, пишите.
724 / 224 / 72
Регистрация: 01.03.2011
Сообщений: 629
31.10.2018, 22:43 0

P2P соединение через nat - C++ - Ответ 13020215

31.10.2018, 22:43. Показов 5712. Ответов 17
Метки (Все метки)

Лучший ответ Сообщение было отмечено buridan как решение

Решение

Как я уже писАл, вы делаете только 1 тест - определяете mapped-address (свои iport) на самом "дальнем" (их может быть много по пути) NAT.
Далее вам нужно определить пропустит ли NAT/файрвол пакет с другого адреса и/или порта, ведь у вашего друга, покрайней мере адрес не совпадает с адресом STUN сервера. Для этого нужно отправить STUN серверу еще один запрос, но с установленными флагами "ответь с другого ip и порта". Если ответ пришел, то все хорошо (это 99% не ваш случай) и можно сообщать свои iport из 1го запроса другу. Если ответа нет, то повторяем 1й тест, но отправляем не на исходные адрес:порт, а на changed-address полученные в ответ на 1й запрос. Если ответа не пришло, то все плохо. Сверяем mapped-address из этого ответа с mapped-address из 1го ответа - если различаются то у вас симметричный NAT. Если же совпадают то нужно сделать еще один запрос с установленным флагом "ответь с другого порта", если ответ пришел - restricted NAT, не пришел - port restricted.
Если коротко, то как-то так.

Вернуться к обсуждению:
P2P соединение через nat C++
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.10.2018, 22:43
Готовые ответы и решения:

Соединение через SOCKS4
Доброго времени суток! Помогите разобраться с соединением к хосту через SOCKS4, а именно с структурой отправляемых данных. ...

Создать прямое соединение через сеть интернет
Доброго времени суток. Возникла идея создания прямого соединения двух абонентов без использования сервера (понятно что информация будет все...

Искажение данных при передаче через TCP соединение. Winsock
Здравствуйте, у меня клиент-сервер приложение, и при передаче относительно большого числа, возникает его искажение. Хотя при передаче...

17
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.10.2018, 22:43
Помогаю со студенческими работами здесь

Java P2P, построение скоростного решения для соединение 2 клиентов поверх Nat
Всем привет, может уже раньше тема всплывала, но я не нашел нормального решения. В общем надо создать соединение между 2 клиентами на...

Как настроить соединение через NAT?
Есть программка типа чата по сети (для общения) использующее шифрование. Идея такая при подключении вводится порт и IP собеседника (данные...

Соединение клиентов за NAT-ом напрямую, получая координаты через посредника
Добрый день! Тема достаточно избитая, но я уже несколько дней над ней бьюсь, а результата нет. Есть сервер s0 с белым постоянным IP, p1...

Соединение двух ПК за NAT
Доброго! Тема затерта до дыр, но я всетаки осмелюсь задать вопрос. Собственно по сабжу. Имеется два клиента за port restricted con NAT (3g...

Как реализовать соединение двух машин в Интернете, находящихся за NAT'ом?
Ребят, может кто знает, возникла проблема в реализации соединения пары клиентов, находящихся за NAT'ом, по типу программки TeamViewer.....

0
Новые блоги и статьи
Winforstrap или красявый дизайн своими руками на HTML+JS+Winform­s
anomal6 04.03.2025
Сидел тут вечером ковырял проект на MAUI, и как же глупо создаются пакеты MSIX и система обновлений пакета публикации, но не об этом. Бывает нужен современный дизайн программы а писать на MAUI,. . .
Формат данных для симуляции физики, посредством распространённы­­­­­­­х не обученных моделей.
Hrethgir 04.03.2025
Что-то как-то снова потерялось, зато катангенсы закатангесились в одном сообщении. На днях писал, что планирую для работы апгрейдить (на этот раз удачно) девайс для работы (конкретно - здоровья для,. . .
Концепция variadic
CoderHuligan 04.03.2025
Мне не очень нравится (а кому это нравится?) что у нас есть отдельно компилятор, отдельно линковщик, причем со своим собственным командным языком. При этом усложнении надо знать помимо языка. . .
Java Record или Kotlin Data Class: что лучше для неизменяемых данных
Wired 04.03.2025
Java Record и Kotlin Data Class — два мощных инструмента для обуздания неизменяемых структур данных, каждый со своим уникальным подходом к решению этой задачи. История их появления весьма. . .
Создание производительны­­­х API с Java и gRPC
Wired 04.03.2025
В мире микросервисной разработки вопрос производительности часто становится краеугольным камнем. И хотя REST API давно завоевал сердца разработчиков своей простотой и интуитивностью, при высоких. . .
Что нового в JDK 24
Wired 04.03.2025
JDK 24 — это настоящий прорыв в эволюции Java, который кардинально меняет правила игры. В этом релизе разработчики Oracle наконец-то довели до ума множество критически важных улучшений в. . .
Разработка блокчейн с использованием Java: смарт-контракты и dApp
Wired 04.03.2025
Погружаясь в мир блокчейн-разработки на Java, разработчик получает доступ к внушительному арсеналу инструментов. В отличие от Solidity, который "заперт" в экосистеме Ethereum, Java предоставляет. . .
WebAssembly в Kubernetes
stackOverflow 03.03.2025
В современной экосистеме облачных технологий WebAssembly (Wasm) становится все более значимым компонентом, предлагая уникальный подход к выполнению кода в распределенных системах. Эта технология. . .
GitHub Actions или Jenkins: Выбираем CI/CD платформу
stackOverflow 03.03.2025
Непрерывная интеграция и развертывание (CI/ CD) изменили подход к разработке программного обеспечения, превратив его в бесшовный процесс от написания кода до развертывания в продакшн. GitHub Actions и. . .
Автоматизация тестирования Pull Request в Kubernetes: Интеграция с GitHub Actions и GKE
stackOverflow 03.03.2025
Масштабные проекты с использованием Kubernetes требуют надежной системы тестирования изменений перед их внедрением в продакшн-среду. Традиционный подход с ручной проверкой Pull Request не справляется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru