Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I have done further research on this issue, and have found a workaround for my explicit issue using the channel attribute 'machineName' as well as 'bindTo' (see the the config file section at the bottom). </p> <p>In my explicit case, I do not need to support connections coming in from both ip v4 and ip v6 at the same time since by configuration, the connections will only be coming in on one of the two ip versions. As such, the config section below only details setting up a .net remoting service to fully communicate over IP v6. I believe this config fix would work to get the service responding to both ip v4 and ip v6 communication, however I have not tested it so I don't know for sure.</p> <p>Using the channel attribute 'machineName', the service is told what ip address to bind a stream object returned from the api to. This way, rather than getting an unknown address [::] exception when the client tries to access the stream, the client gets a stream object configured to talk back to the server's configured machineName. </p> <p>Using the channel attribute 'bindTo', the service is told what ip address to listen on for incoming communication. This can be an explicit ip, as shown in the below config section, or it can be a whole protocol ('[::]' for IP v6, '0.0.0.0' for ip v4). If you're not doing ip v6, but only ip v4, this attribute is only needed if you wish to lock your service down to one explicit ip. Otherwise, as .Net remoting automatically assumes ip v4, it will just work right. </p> <p>Hope this helps others with ip v4/v6 a little.</p> <pre><code> &lt;system.runtime.remoting&gt; &lt;application&gt; &lt;service&gt; &lt;wellknown mode="Singleton" type="Kryptiq.Partners.Service.PartnersServiceApi, KPtnrSvc" objectUri="KPtnrSvc.rem" /&gt; &lt;/service&gt; &lt;channels&gt; &lt;channel name="tcpclient" ref="tcp" encryption="EncryptAndSign" machineName="[fe80::839:c79e:141a:2498%15]"&gt; &lt;clientProviders&gt; &lt;formatter ref="binary" /&gt; &lt;/clientProviders&gt; &lt;/channel&gt; &lt;channel name="tcpserver" ref="tcp" port="2500" encryption="EncryptAndSign" machineName="[fe80::839:c79e:141a:2498%15]" bindTo="[fe80::839:c79e:141a:2498%15]"&gt; &lt;serverProviders&gt; &lt;formatter ref="binary" /&gt; &lt;/serverProviders&gt; &lt;/channel&gt; &lt;/channels&gt; &lt;/application&gt; &lt;/system.runtime.remoting&gt; </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload