[Mono-list] remoting mono with MS' CLR?

2a5gjx302@sneakemail.com 2a5gjx302@sneakemail.com
Sun, 06 Jul 2003 03:01:36

At 07:39 PM 26/06/2003 +0200, you wrote:
>> Hi, I was wondering if anyone had any experience using remoting through a
>> TCP connection between Mono and Microsoft's implementation of the CLR?  I
>> have a sample program that works on mono when remoting to the local host
>> well as when remoting between two windows machines, but between linux and
>> windows it crashes, regardless of which is the server or client.  This is
>> without using cygwin, which I can't use for this for various reasons.  Is
>> this supposed to be working at this point in Mono's development?  I just
>> want to know if the error is on my end or should I try to find another
>> to try with this project.
>> Much thanks in advance for any help on this.
>> -Joe
>The TcpChannel and the BinaryFormatter is (or should be) compatible with
>MS.NET. However, some classes from the library may have a different binary
>representation, because they may have a different internal data structure,
>so for example you won't be able to exchange a Hastable object between Mono
>and MS.NET. It should not be a problem if you are using primitive types,
>arrays or your own classes. In any case, could you post a test case?

I have been thinking about this issue for some time now, and the more I
think about it, the more of a serious issue it seems to be. Collection
types are very commonly used, and if they are not compatible with remoting
between MS .NET and mono, an entire section of the market (so to say) will
be unavailable.

It would in theory be possible to provide mono's remoting with some thunks
to translate the binary format of collections to/from Microsoft-equivalent
formats, right within the remoting layer. How much work would this be? I
might be able to contribute it myself, but I am not sure where to start.

I can't think of any reason why a solution such as this would be inherently
contrary to mono's vision, but if such reasons exist please let me know :-)