thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gianni Ambrosio <gianni.ambro...@vi-grade.com>
Subject Adding a new method to IDL file then a client hangs on whatever call to an old server
Date Thu, 05 Sep 2019 11:09:55 GMT
Dear All,
this is a frustrating problem. I have a C# server and C++ client for 
desktop application. It happens that I have to add one method to the IDL 
file. I implement on both sides (server and client). Ad it works fine 
but when a colleague on the LAN starts an old server then calls from the 
client to the old server hangs.

Here is the code:

         boost::shared_ptr< apache::thrift::transport::TSocket > 
socket(new apache::thrift::transport::TSocket(remoteServerIp, 
remoteServerPort));
         socket->setConnTimeout(connectionTimeout);
         transport = boost::make_shared< 
apache::thrift::transport::TBufferedTransport >(socket);
         try {
             transport->open();
             client = boost::make_shared< UnityServiceClient 
 >(boost::make_shared< apache::thrift::protocol::TBinaryProtocol 
 >(transport));
             client->clientConnected(localIp, remoteServerIp);

Debugging runtime I found clientConnected call never exits. But that 
call was the same in the IDL file for months!
Is this a known issue or is there a workaround?

Best regards,
Gianni
Mime
View raw message