Добрый день, возникла такая проблема
Есть сервер, на котором стоят 2 сетевые карты на разных сетевых интерфейсах — 10.0.* и 192.168.*. На сервера запущен сервис, которая по .Net Remoting по определенному порту слушает клиентов и позволяет подписываться клиентам на событие, которые могут в ней возникать. Есть клиентская часть в подсети 10.0.*, которая работает со службой и получает от нее события. Так вот, когда на сервере стоят 2 сетевые карты, то клиент не может подключится к удаленной службе и подписаться на ее события, а когда воткнута одна с сетью 10.0.* то проблем нет и все работает.
Вопрос, как работает .Net Remoting, как можно настроить его, чтобы он работал с нужной мне подсетью? А то получается, что он слушает подсеть 192.168.* когда на машине есть 2 сетевых интерфейса, а сеть 10.0.* не хочет
Здравствуйте, Logot, Вы писали:
L>Добрый день, возникла такая проблема L>Есть сервер, на котором стоят 2 сетевые карты на разных сетевых интерфейсах — 10.0.* и 192.168.*. На сервера запущен сервис, которая по .Net Remoting по определенному порту слушает клиентов и позволяет подписываться клиентам на событие, которые могут в ней возникать. Есть клиентская часть в подсети 10.0.*, которая работает со службой и получает от нее события. Так вот, когда на сервере стоят 2 сетевые карты, то клиент не может подключится к удаленной службе и подписаться на ее события, а когда воткнута одна с сетью 10.0.* то проблем нет и все работает. L>Вопрос, как работает .Net Remoting, как можно настроить его, чтобы он работал с нужной мне подсетью? А то получается, что он слушает подсеть 192.168.* когда на машине есть 2 сетевых интерфейса, а сеть 10.0.* не хочет
попробуй:
а) прописать в hosts какое-нибуль уникальной имя для 10.0.*
б) используй это имя при binding на сервере
в) используй TCPView или ProcessExplorer, чтобы удостовериться, какой порт какого интерфейса слушается сервисом
Здравствуйте, Logot, Вы писали:
L>Добрый день, возникла такая проблема L>Есть сервер, на котором стоят 2 сетевые карты на разных сетевых интерфейсах — 10.0.* и 192.168.*. На сервера запущен сервис, которая по .Net Remoting по определенному порту слушает клиентов и позволяет подписываться клиентам на событие, которые могут в ней возникать. Есть клиентская часть в подсети 10.0.*, которая работает со службой и получает от нее события. Так вот, когда на сервере стоят 2 сетевые карты, то клиент не может подключится к удаленной службе и подписаться на ее события, а когда воткнута одна с сетью 10.0.* то проблем нет и все работает. L>Вопрос, как работает .Net Remoting, как можно настроить его, чтобы он работал с нужной мне подсетью? А то получается, что он слушает подсеть 192.168.* когда на машине есть 2 сетевых интерфейса, а сеть 10.0.* не хочет
А если в конфиге *.exe.config клиента явно прописать:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
............ что-то там
</appSettings>
<system.runtime.remoting>
<application>
<channels>
<channel ref="tcp" port="0" machineName="192.168.0.32">
..................
Ключевой момент — указание явного адреса machineName (клиента), по которому и надо слушать.