Sorry, now I realized the TFramedTranspost for python is inside TTransport.py, 
differently from c++.


________________________________
Da: Gianni Ambrosio <gianni.ambro...@vi-grade.com>
Inviato: martedì 19 settembre 2023 08:46
A: user@thrift.apache.org <user@thrift.apache.org>
Oggetto: TNonblockingServer with TMultiplexedProcessor python client

Dear All,
I tried to implement a TNonblockingServer in c++ with TMultiplexedProcessor.
And I need to implement a client in python.

My c++ server is like this:

std::shared_ptr< apache::thrift::TMultiplexedProcessor > processor(new 
apache::thrift::TMultiplexedProcessor());
std::shared_ptr< apache::thrift::transport::TNonblockingServerSocket > 
serverTransport(new 
apache::thrift::transport::TNonblockingServerSocket(service::ServiceConstants().Service_port));
server = std::make_shared< apache::thrift::server::TNonblockingServer 
>(processor, serverTransport);

A working client in c++ is as follows:

std::shared_ptr< apache::thrift::transport::TSocket > socket(new 
apache::thrift::transport::TSocket("localhost", 
vidrivesim::service::ServiceConstants().iService_port));
socket->open();
std::shared_ptr< apache::thrift::transport::TTransport > transport = 
std::make_shared< apache::thrift::transport::TFramedTransport >(socket);
std::shared_ptr< apache::thrift::protocol::TBinaryProtocol > protocol = 
std::make_shared< apache::thrift::protocol::TBinaryProtocol >(transport);

If I remove the TFramedTransport the client does not work anymore (I get a "No 
more data to read." exception when I try to use the service.

The problem is that I need to implement the client in python and I can't find a 
TFramedTransport in python.

So, what should I do?

Regards
Gianni

Reply via email to