Philip Lee created THRIFT-5610:
----------------------------------

             Summary: Help with inconsistencies in TSocketTransport (C#)
                 Key: THRIFT-5610
                 URL: https://issues.apache.org/jira/browse/THRIFT-5610
             Project: Thrift
          Issue Type: Question
    Affects Versions: 0.16.0
         Environment: Windows 10.  Visual Studio 2022 17.3.
            Reporter: Philip Lee
         Attachments: Program.cs

We have some software that communicates with a hardware device using Thrift.

The software was until recently using Thrift 0.9.x (I know - old), and this 
worked fine.

Thrift 0.16.0 worked fine when communicating over the office network but the 
code failed when communicating with the device over a second NIC where there 
was no DNS entry.  Thrift 0.9 was ok with this scenario.

I've now got a workaround but the 3 constructors for TSocketTransport seem 
inconsistent. and could possibly work better. Details in the attached file.

This is the gist

 
{code:java}
var host = "xyz";
var hostAddress = "192.168.1.109";
var port = 9090;

// NOTE: FailsNoSuchHost fails for an internal network to a hardware device
// which doesn't have a DNS entry.  Nslookup returns nothing and 
DNS.GetHostEntry(...) throws

// ok - there's no host entry so I guess this should fail
await FailsNoSuchHost(host, port);

// not ok - I'm specifying the IP explicitly, I don't expect this to fail
await FailsNoSuchHost(hostAddress, port); 

// this works by creating an IPAddress, but is inconsistent because
// I have to explicity open the socket
await CreateAddressSucceeds(hostAddress, port);

// this works by creating a TcpClient, but I fails if I explicitly open the 
socket
await CreateClientSucceeds(hostAddress, port);{code}
 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to