[
https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15090241#comment-15090241
]
Jens Geyer edited comment on THRIFT-3000 at 1/9/16 12:09 AM:
-------------------------------------------------------------
The approach over there in THRIFT-3510 (and my own WP7 creation) brought me to
the conclusion, that we probably should have different - and clearly named - C#
assemblies for the various supported versions. Of course, we don't need one for
/every/ version, only where it makes sense.
That would allow to make use of the latest technologies ...
- ... while still having fallback options that work with older framework
versions
- ... and eliminate the need for crude (and slow) constructs via reflection or
the like
was (Author: jensg):
The approach over there in THRIFT-3510 (and my own WP7 creation) brought me to
the conclusion, that we probably should have different - and clearly named - C#
assemblies for the various supported versions. Of course, we don't need one for
/every/ version, only where it makes sense.
That would allow to make use of the latest technologies ...
- ... while still having fallback options that work with older framework
versions
-* ... and eliminate the need for crude (and slow) constructs via reflection or
the like
> .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
>
> 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)