Helge Lenuweit wrote:

Hello mono folks,

I am writing a service that offers a remoted object on either Windows or mono/Linux. While this indeed works great on mono, my solution uses the commercial GenuineChannels product on Windows that offers a bidirectional TcpChannel implementation. This allows to get around firewalls and NAT routers but unfortunately only runs on Windows (offering lots of additional features like security sessions, impersonation, direct exchange etc. which aren't used in my case).. I'm now looking at something similar for mono, or any other solution to "get connected" to the server.

GenuineChannels is sold with source code. Just kick the proprietary
code.

My research so far brought up the following, most of it from a discussion on this list about two years ago: - SSH tunneling to the server might be an option. What I tried was forwarding the server port to my client machine which allowed me to connect to a singleton. Then a method is called and a CAO returned, only that the new object's URI points to the real server's name instead of localhost again. (I used this to allow for an interface-based design).

You have to provide the explicit IP address of the server in its
remoting config file:

<system.runtime.remoting>
  <application name="YourServerName">
    <channels>
      <channel ref="tcp" port="8086"
          bindTo="IP-Address" >
      </channel>
    </channels>
    ....

- Anyway, requiring an SSH connection doesn't seem the most intuitive for the end user... Also I couldn't figure out what to do for the callback channel (I use the "new TcpChannel(0)" constructor for an arbitrary callback port).

Don't use "0". Use a second port that you must forward with SSH as well.

Rob

_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to