Я новичок в Apache Thrift, и я в проекте колледжа, где мне нужно подключить сервер C++ и клиент C# с Apache Thrift.Соедините два физических компьютера с Apache Thrift
Я могу подключить их оба, когда они работают на одном ПК. С самого начала, учебник с:
TTransport transport = new TSocket("localhost",9090);
TProtocol protocol = new TBinaryProtocol(transport);
Analizador.Client client = new Analizador.Client(protocol);
Но мне нужно, чтобы отделить их друг на ПК под управлением Linux и тому другой в Windows, под управлением компьютера, так как они находятся в одной и той же сети. Как и где мне нужно настроить, чтобы это произошло?
Чтобы быть более конкретным: Главный компьютер работает под управлением 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 я должен положить, что в LOCALHOST atribute? –
@EdwinAguilar: Да, 'TTransport transport = новый TSocket (" 192.168.56.1 ", 9090);' должен делать, если IP корректен. Если он все еще не работает, вы можете проверить настройки брандмауэра. Имя «localhost» - это просто [стенография локального компьютера, или «127.0.0.1'] (https://en.wikipedia.org/wiki/Localhost). – JensG