Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Сетевое программирование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2012, 14:18   #1
Niyaz.cpp
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 25
По умолчанию опять про "клиент-сервер"!!!!!

Уважаемые форумчане, вопрос в следующем:
должны ли чем нибудь отличаться структура "к-с" для локальных сетей и интернета? если конкретнее, есть ли особенности в функциях и т.д.
если еще конкретнее, то речь идет про класс СSocket из MFC. На сервере создаем сокет слушающий, передающий. У клиента передающий. далее коннектимся и работаем. По локальной сети все работает, а вот через интернет не получается. про NAT и т.п. фишки уже знаю и вроде проблема ни в этом. Сейчас интересует именно отличие структуры "к-с" для этих случаев!
Заранее благодарю за ответы)
Niyaz.cpp вне форума Ответить с цитированием
Старый 17.04.2012, 21:20   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

всё упирается в проблемы с NAT, всё остальное также
rpy3uH вне форума Ответить с цитированием
Старый 18.04.2012, 10:51   #3
Niyaz.cpp
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 25
По умолчанию

NAT я уже пробовал настроить. но все же допустим, что проблема в нате.
я также пробовал бриджем, при этом провайдер выдал айпи непосредственно компьютеру где стоит серверная часть. результата все равно нет.
я начал задумываться, может проблема в 3g usb модеме с которого компьютер с клиентской частью программы выходит в инет?
Niyaz.cpp вне форума Ответить с цитированием
Старый 18.04.2012, 11:45   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от Niyaz.cpp Посмотреть сообщение
NAT я уже пробовал настроить. но все же допустим, что проблема в нате.
NAT можно настроить только на роутерах и модемах которые это поддерживают, это как правило ADSL модемы(де-факто это тоже роутеры) и WiFi-роутеры. это называется "пробросить порт". опять же это возможно только если имеется выделенный IP.

Цитата:
Сообщение от Niyaz.cpp Посмотреть сообщение
я начал задумываться, может проблема в 3g usb модеме с которого компьютер с клиентской частью программы выходит в инет?
забудьте про 3G на них используется такой тип NAT, с который невозможно что-либо сделать.
rpy3uH вне форума Ответить с цитированием
Старый 18.04.2012, 12:23   #5
Niyaz.cpp
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 25
По умолчанию

тот компьютер, который играет роль сервера, подключен к модему ADSL 2500U. да, там есть функция NAT в режиме роутера. при подключении к интернету провайдер выделяет мне IP(каждый раз новый). какой айпи именно мне выделен, я узнаю с помощью сервиса http://2ip.ru/
при пробросе порта, я указываю айпи своего локального компа(комп его получает от модема) и задаю № порта 2000(и для входящих и для приватных), этот порт использует моя программа. когда подключаю ADSL модем в режиме бриджа, то провайдер выделяет айпи уже не модему, а непосредственно компьютеру-серверу( айпи можно посмотреть в свойствах соединения, и сравнить с тем что дает http://2ip.ru/ они совпадают). с сервером вроде все.
что касается компьютера-клиента, то насколько я понимаю, не важно как я выхожу в интернет(не важно какой модем я использую). там как раз и стоит usb модем. или я ошибаюсь насчет того, что клиент может использовать любой модем?

я решил подстраховаться, и протестировал связь м\у кл. и сер. программой Radmin. но радмин тоже не заработал.
потом на одном из форумов мне подсказали, что проблема может быть в настройках файрволла(брендмауера). тут два варианта: 1. встроенный файрволл ADSL модема (но мой модем такового не имеет!) 2. брандмауер на компьютере. в настройках разрешил и радмин, и свою программу, более того сделал "прозрачным" порт 2000! но не хотят кл. и сер. никак коннектиться. даже не знаю в каком направлении дальше копать(
Niyaz.cpp вне форума Ответить с цитированием
Старый 18.04.2012, 12:27   #6
Niyaz.cpp
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 25
Печаль

насчет вай-фая, у меня имеется маршрутизатор DIR-300 (тоже длинковский). пробовал и его в качестве посредника между модемом и компом(со всеми настройками NATа). но, увы, все безуспешно.
Niyaz.cpp вне форума Ответить с цитированием
Старый 18.04.2012, 13:28   #7
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от Niyaz.cpp Посмотреть сообщение
при пробросе порта, я указываю айпи своего локального компа(комп его получает от модема) и задаю № порта 2000(и для входящих и для приватных), этот порт использует моя программа. когда подключаю ADSL модем в режиме бриджа, то провайдер выделяет айпи уже не модему, а непосредственно компьютеру-серверу( айпи можно посмотреть в свойствах соединения, и сравнить с тем что дает http://2ip.ru/ они совпадают). с сервером вроде все.
если IP-адрес меняется значит он не выделенный, это может значить только одно: в шлюзе провайдера есть ещё один NAT именно из-за него всё проблемы

Цитата:
Сообщение от Niyaz.cpp Посмотреть сообщение
что касается компьютера-клиента, то насколько я понимаю, не важно как я выхожу в интернет(не важно какой модем я использую). там как раз и стоит usb модем. или я ошибаюсь насчет того, что клиент может использовать любой модем?
у клиентов интернет может быть любой.
rpy3uH вне форума Ответить с цитированием
Старый 18.04.2012, 14:25   #8
Niyaz.cpp
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 25
По умолчанию

значит получается для работы Radmina тоже нужен статический айпи?
Niyaz.cpp вне форума Ответить с цитированием
Старый 18.04.2012, 18:42   #9
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

нужен любой способ коннекта к радминовскому порту на целевой машине, а это теоретически можно сделать или через NAT но очень сложно
rpy3uH вне форума Ответить с цитированием
Старый 19.04.2012, 10:11   #10
Niyaz.cpp
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 25
Вопрос

т.е. у меня только два варианта: либо покупать статический ip у провайдера, либо покупать домен у DynDns для привязки к динамическому ip?
а может быть есть другой, более бюджетный выход?
Niyaz.cpp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает связка "Клиент-сервер" Omenus Работа с сетью в Delphi 1 13.10.2011 12:46
FTP клиент ошибки с библиотеками "stdafx.h" "FTP1.h" <afxinet.h> Hichigo Общие вопросы C/C++ 0 04.08.2010 12:11
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
Трехзвенная архитектура "клиент-сервер": обновление данных Lisi4ka Помощь студентам 1 07.04.2009 11:14
Опять клиент-сервер. Сокеты. Atom63 Работа с сетью в Delphi 4 04.02.2007 21:27