TCP/IP socket c#

 
0
 
.NET
ava
herade | 01.11.2010, 23:24
доброе время суток! есть простой проект, клиент сервер на основе tcp/ip сокетов.
проект стабильно работает на двух машинах одного провайдера.
проблема: если поставить сервер на другую машину(не мой провайдер), то клиент с моей машины не может подключиться, хотя на машине куда я пытаюсь подключиться порт не занят и при просмотре состояний tcp портов, сервер открывает нужный порт и слушает.
айпи обеих машин не пингуются ни с внешних серверов, ни с каждой машины по отдельности (то есть моя машине не видит вторую машину, и соответственно наоборот).
однако если на вторую машину поставить клиент, а на моей запустить сервер, то все работает. то есть получается работа в одну сторону что ли, если так выразиться можно.

понимаю что вопрос немного не по теме, но все же если кто то сталкивался с этим прошу помочь.
при необходимости предоставлю код, но думаю не в нем дело, потому что в одну "сторону" проект работает. да и там самая примитивная реализация.
заранее благодарен сорри за smile
Ответы (6)
ava
neic | 02.11.2010, 00:12 #
1) когда ты даешь сервер другому челу, меняешь данные на клиенте (куда подключатся)?
2) просто у твоего друга может быть динамический IP поэтому и не подключится.
ava
herade | 02.11.2010, 00:40 #
ну порт остается тот же, он в коде указан, а в клиенте вводится айпи.
насчет динамических айпи скорее всего это так, ибо у меня VPN вообще, и каждую сессию айпи меняется, у друга не впн, но тоже каждую сессию меняется айпи.
ну так а разница, если есть адрес машины, я могу отправить пакет на этот адрес. другие же приложения работают на основе tcp соков.(ну квип ася браузеры итп smile )
к тому же если динамический айпи и у меня и у друга, то почему он может подключиться а я нет? конечно же тестировалось на выключенном полностью КИС'е и фаерволе.
вопрос остается(
ava
mrbrooks | 02.11.2010, 09:51 #
herade, прокси у вас там нигде не гуляет?
ava
neic | 02.11.2010, 11:50 #
herade
Все перечисленные проги имеют серваки с "белым" IP. Т.е. у них всегда статический IP адрес. Скорее всего проблема в этом.
ava
herade | 02.11.2010, 17:35 #
neic, ну мой айпи не серый, по диапазону не подходит, но фишка в том, и что он мог подключиться ко мне, а я не могу к нему, тут понятно.

mrbrooks, прокси нету, но при выделении другу серого айпи понятно же что он сидит за NAT'ом провайдера и тут к нему никак не подключиться.

но иногда машине друга провайдер выделяет "белый" айпи, не понимаю почему, но по определению статический\динамический айпи может быть как серым так и белым, понятно что провайдер выделяет "серые" адреса что бы избежать аттак и любых внешних подключений, но когда пробовал подключиться к машине с белым айпи, и все равно эффект тот же, ко мне могут подключиться, я не могу. айпи по диапазонам серого не подходит, проверял, может еще какие то нюансы есть. опять же не пингуется машина с "белым" айпи, ни с сервов внешних, ни с моей машины, и трэйсерт обрывается на маршрутизаторе провайдера друга, он работает как фаервол(

Вики "При использовании NAT пользователь с адресом локальной сети может подключаться к компьютерам в сети Интернет, но компьютеры из Интернета не могут подключаться к этим пользователям без дополнительной настройки («проброса порта»)."
это понятно все, но в почему когда на машине был белый айпи и все равно я не мог подключиться
ну и возникает новый вопросец, можно ли как то реализовать port forwarding или как в вики написано "проброс порта":smile на машине через c#? по мойму это же конкретная настройка маршрутизатора??

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

P.S client error: System.Net.Sockets сделана попытка выполнить операцию на сокете при отключенной сети IP:port
подсвечивается есессно на строчке socket.connect()
ava
neic | 03.11.2010, 01:02 #
herade
Проверить можно просто. Ищите сайты на которых предлагают виртуальные сервера. Просите предоставить (или ищите там где...) сервер на тест. Заливаешь туда прогу и пытаешься проверить. Если все ОК, то дело в Ваших IP и провайдерах в частности.
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
  mrbrooks   neic   herade
advanced
Отправить