привет, я только начинаю программировать с помощью API.Я запускаю пример кода, но я не знаю, как запустить благотворительную программу.я просто сделал следующее:
код;
{#!/usr/local/bin/thrift --gen cpp
namespace cpp Test
service Something {
i32 ping()
}
, чем выполнить команду thrift --gen cpp your_thrift_file.thrift
это сгенерирует семь файлов в имени папки gen-cppследующие:
Something.cpp
Something.h
Something_server.skeleton.cpp
your_thrift_file_constants.cpp
your_thrift_file_constants.h
your_thrift_file_types.cpp
your_thrift_file_types.h
теперь я скомпилирую их все вместе, чтобы получить исполняемый файл, выполнив следующую команду
g++ -Wall -I/usr/local/include/thrift -c Something.cpp -o something.o
g++ -Wall -I/usr/local/include/thrift -c Something_server.cpp -o server.o
g++ -Wall -I/usr/local/include/thrift -c your_thrift_file_constants.cpp -o constants.o
g++ -Wall -I/usr/local/include/thrift -c your_thrift_file_types.cpp -o types.o
, чем я пишу код клиента, следующий за
{ #include "Something.h" // As an example
#include <transport/TSocket.h>
#include <transport/TBufferTransports.h>
#include <protocol/TBinaryProtocol.h>
using namespace apache::thrift;
using namespace apache::thrift::protocol;
using namespace apache::thrift::transport;
using namespace Test;
int main(int argc, char **argv) {
boost::shared_ptr<TSocket> socket(new TSocket("localhost", 9090));
boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
SomethingClient client(protocol);
transport->open();
client.ping();
transport->close();
return 0;
}
теперь, чем я скомпилирую его с помощью команды
g ++ -Wall -I / usr / local / include / thrift -c что-то_client.cpp -o client.o
а затем сделать исполняемый файл с помощью следующей команды
g ++ -L / usr / local / lib -lthrift client.o Something.o constants.o types.o -o Something_client
Но когда я запускаю его, он показывает следующую ошибку
команда: ./Somthing_client result: Thrift: Fri May 20 10:49:17 2011 TSocket :: open () connect () Соединение отклонено, разрываетсявызывается после создания экземпляра «apache :: thrift :: transport :: TTransportException», что (): connect () не удалось: ConnЭффект отклонен Прервано
Теперь я не понимаю, что я делаю не так?Кто-нибудь может объяснить мне экономную работу?как правильно запустить этот код?что делает этот код?