Сеть в C #, а не LAN - PullRequest
       11

Сеть в C #, а не LAN

0 голосов
/ 12 января 2012

Я хотел узнать, как работает сеть в c #, поэтому я научился использовать TCP-сервер и клиентов. Единственная проблема заключается в том, что он работает, только если оба компьютера подключены к одной сети.

Как я могу заставить их общаться, даже если это не так?

Ответы [ 2 ]

3 голосов
/ 12 января 2012

Сокеты TCP / IP должны работать между любыми двумя конечными точками, если между ними существует маршрут. Если между ними нет маршрута, то речь идет о случае, когда есть две отдельные отключенные сети. В этом случае вам понадобится что-то для соединения двух сетей.

Если вы используете связь TCP / IP сервер / клиент, и компьютеры находятся в разных сетях, у которых есть маршрут, соединяющий их, и они не могут обмениваться данными, то вам следует проверить настройки брандмауэра и другие настройки сети, чтобы убедиться, что пакеты TCP / IP от одна сеть может достичь другой сети.

Убедитесь, что вы используете правильный IP-адрес, когда клиент пытается подключиться к серверу. Если у вас есть сервер с IP-адресом 10.0.0.5, прослушивающий порт 4823, попробуйте подключиться к этому IP-адресу от клиента с помощью IP-адреса сервера 10.0.0.5 и порта 4823. Если он подключается, это обычно означает, что все настроено правильно .

Из командной строки: telnet 10.0.0.5 4823

0 голосов
/ 12 января 2012

Связь по TCP осуществляется с IP-адресами.Таким образом, даже если клиент и сервер не находятся в одной сети, если вы укажете IP-адрес сервера, клиент сможет связываться с ним (при условии, конечно, что сеть, в которой находится клиент, настроена правильно и знаетчтобы добраться до сети сервера).Вы также можете использовать службу DNS и предоставить полное IP-адрес сервера вместо IP-адреса.DNS-сервер в сети клиента преобразует полное доменное имя сервера в IP-адрес.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...