[ 
https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14500817#comment-14500817
 ] 

ASF GitHub Bot commented on THRIFT-3000:
----------------------------------------

Github user Jens-G closed the pull request at:

    https://github.com/apache/thrift/pull/450


> .NET implementation has trouble with mixed IP modes
> ---------------------------------------------------
>
>                 Key: THRIFT-3000
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3000
>             Project: Thrift
>          Issue Type: Bug
>          Components: C# - Library
>    Affects Versions: 0.9.2, 0.9.3
>         Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET 
> 4.0 / .NET 4.5
>            Reporter: Tobias Mundt
>            Assignee: Jens Geyer
>            Priority: Minor
>             Fix For: 0.9.3
>
>
> The .NET implementation of TSocket and TServerSocket use the .NET class 
> TcpClient and TcpListener. When creating instances of theses classes the .NET 
> framework estabiles either an IPv4 or an IPv6 lsitener/client depending on 
> the order of network protocols set in the control center for the network 
> adapter. Mention that only the first type of protocol is used not both. 
> Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 
> over ipv4 in windows 8  and 8.1. That means that a thrift component on a win 
> 7 machine can not talk to the same component on a win 8 machine since they 
> fired of different listeners. 
> When upgrading to .NET 4.5 this can be solved by setting the DualMode=true 
> flag on the TcpListener.Server and the TcpClient.Client sockets. Since 
> DualMode is not supported in Mono as of February 2015. The patch can not be 
> applied.
> Another possible solutions would be to get the configuration of the network 
> protocol order manually and apply the approvriate ip protocol by hand.
> Yet a third possibility would by to add a parameter to the TSocket and 
> TServerSocket constructors to let the user choose the behaviour of the 
> TcpListener and TcpClient
> This problem was attmepted to be solved in the pull request 
> https://github.com/apache/thrift/pull/377 which was rejected due to mono 
> incompatibility



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to