0
我是Apache Thrift的新手,我在一個大學項目中需要使用Apache Thrift連接C++服務器和C#客戶機。用Apache Thrift連接兩臺物理計算機
我可以連接他們兩個,當他們在同一臺PC上運行。從一開始,本教程:
TTransport transport = new TSocket("localhost",9090);
TProtocol protocol = new TBinaryProtocol(transport);
Analizador.Client client = new Analizador.Client(protocol);
但我需要給他們一個在Windows的運行PC上運行Linux和其他PC機分開,所以兩者是相同的網絡。如何或在哪裏需要配置才能實現此目的?
更具體:主要PC運行的是Windows和裏面運行Ubuntu 16.04虛擬機具有運行C++服務器:
int port = 9090;
shared_ptr<AnalizadorHandler> handler(new AnalizadorHandler());
shared_ptr<TProcessor> processor(new AnalizadorProcessor(handler));
shared_ptr<TServerTransport> serverTransport(new TServerSocket(port));
shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory());
shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory());
TSimpleServer server(processor, serverTransport, transportFactory, protocolFactory);
server.serve();
感謝你的反應,所以如果我的虛擬機有IP 192.168.56.1我需要把在本地主機屬性附加傷害? –
@EdwinAguilar:是,'TTransport transport = new TSocket(「192.168.56.1」,9090);'應該這樣做,因爲IP是正確的如果它仍然不起作用,您可能需要檢查防火牆設置。 「localhost」這個名字只是[本地機器的簡寫,或者'127.0.0.1'](https://en.wikipedia.org/wiki/Localhost)。 – JensG