[Mono-list] Windows to Linux Remoting problem

Zbigniew Babiej zbigniewb@hotmail.com
Thu, 07 Oct 2004 13:52:33 +0000


Hello All,
I was wondering if anyone had encountered the following problem.
I have a simple remoting test program (binaries compiled with MS .NET C# (VS 
2003 ver. 7.1.3088 .NET Runtime 1.1.4322 SP1).
This works OK in the scenarios Windows -> Windows(both local and remote 
server) and Linux -> Linux (local server only, did not test
remote server), but does not work in the scenarions Windows->Linux and 
Linux->Windows.

In the scenario Windows->Linux, the client throws the following exception 
when trying to activate the first object:

A) When hosted by Mono (ver. 1.0.2):

Unhandled Exception: System.Runtime.Remoting.RemotingException: No such host 
is known
Server stack trace:
in <0x000c4> 
System.Runtime.Remoting.Channels.Tcp.HostConnectionPool:CreateConnection ()
in <0x00112> 
System.Runtime.Remoting.Channels.Tcp.HostConnectionPool:GetConnection ()
in <0x00105> 
System.Runtime.Remoting.Channels.Tcp.TcpConnectionPool:GetConnection 
(string,int)
in <0x00146> 
System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink:Process
Message 
(System.Runtime.Remoting.Messaging.IMessage,System.Runtime.Remoting.Channels.ITransportHeaders,System.IO.Stream,System.Runtime.Remoting.Channels.ITransportHeaders&,System.IO.Stream&)
in <0x002bc> 
System.Runtime.Remoting.Channels.BinaryClientFormatterSink:SyncProcessMessage 
(System.Runtime.Remoting.Messaging.IMessage)

Exception rethrown at [0]:

in <0x00583> System.Runtime.Remoting.Proxies.RealProxy:PrivateInvoke 
(System.Runtime.Remoting.Proxies.RealProxy,System.Runtime.Remoting.Messaging.IMessage,System.Exception&,object[]&)

B) When hosted by .NET
Error: The requested name is valid and was found in the database, but it 
does not have the correct associated data being resolved for
Source: mscorlib
Stack:
Server stack trace:
   at System.Net.Dns.GetHostByName(String hostName)
   at System.Net.Dns.Resolve(String hostName)
   at System.Runtime.Remoting.Channels.RemoteConnection..ctor(SocketCache 
socketCache, String machineAndPort)
   at System.Runtime.Remoting.Channels.SocketCache.GetSocket(String 
machineAndPort)
   at 
System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.SendRequestWit
hRetry(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream)
   at 
System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage
(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, 
ITransportHeaders& responseHeaders, Stream& responseStream)
   at 
System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage 
msg)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage 
reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& 
msgData, Int32 type)
   at MXSRemoteQuote.QuoteProvider.AddQuoteListener(IQuoteListener listener)
   at MXSRemoteClient.RemoteClient.Run()
Inner:

In the scenario Linux->Windows , the same errors are reported, but this time 
by the server.

The windows version is Win2K SP4 and the linux is Fedora Core 2. Both 
machines are in the same lan (switch).
I tested both IP and hostname, but no success.
I run other services(like ftp, samba etc.) on that Linux box and can access 
them from Windows clients using both IP and hostname without any problems.

Would you have any hints about how resolve this issue ?
The sample binaries can be downloaded from the following link: 
http://members.chello.nl/z.babiej/MXSRemote.zip

Thank you in advance for your help.

Zbigniew Babiej, MarketXS.COM


Here is the server side .config:


<configuration>
   <system.runtime.remoting>
      <application>
         <service>
           <activated
             type="MXSRemoteQuote.QuoteProviderController, MXSRemoteQuote"
           />
          <activated
             type="MXSRemoteQuote.QuoteProvider, MXSRemoteQuote"
           />
         </service>
         <channels>
             <channel ref="tcp" port="8787">
                 <serverProviders>
                     <formatter ref="binary" typeFilterLevel="Full" />
                  </serverProviders>
                 <clientProviders>
                     <formatter ref="binary" />
                 </clientProviders>
              </channel>
         </channels>
      </application>
   </system.runtime.remoting>
</configuration>


... and the client side .config:

<configuration>
  <system.runtime.remoting>
    <application name="MXSRemoteTerminal">
       <channels>
          <channel ref="tcp" port="0">
             <clientProviders>
                <formatter ref="binary" />
             </clientProviders>
             <serverProviders>
                <formatter ref="binary" typeFilterLevel="Full" />
             </serverProviders>
          </channel>
       </channels>
       <client url="tcp://10.1.3.13:8787">
         <activated type="MXSRemoteQuote.QuoteProviderController, 
MXSRemoteQuote" />
         <activated type="MXSRemoteQuote.QuoteProvider, MXSRemoteQuote" />
      </client>
    </application>
  </system.runtime.remoting>
</configuration>

_________________________________________________________________
Tired of spam? Get advanced junk mail protection with MSN 8. 
http://join.msn.com/?page=features/junkmail