elasticsearch 서버에 POST를 수행하기 위해 C++ 스 니펫을 작성하려고합니다. , "POST_DATE"을 "kimchy": 서버의 IP 172.20.1.160에서 실행되고, 나는 Elasticsearch 튜토리얼처럼 컬을 사용하여 데이터를 넣을 수 있습니다 :부스트 asio를 사용하여 elasticsearch에 연결하는 방법?
curl -XPUT 'localhost:9200/twitter/tweet/1?op_type=create&pretty' -H 'Content-Type: application/json' -d'
{ "사용자", "2009-11 -15T14 : 12 : 12 ", "메시지 ":" '} "
을 을 Elasticsearch을 시도하지만 부스트 ASIO와 비슷한 일을하려고 할 때, 내 연결이 분명히 거부됩니다.
가 여기에 연결을 만들려고 방법을 보여주는 최소한의 compileable 코드를, 그리고 어떤 오류 발생 : 그것은 가치가 무엇인지를 들어
/// Compiled with:
/// g++ --std=c++14 foo.cpp -lboost_system -lpthread
#include <boost/asio.hpp>
constexpr const char *carbon_port = "2003";
constexpr const char *ES_port = "9200";
constexpr const char *server_ip = "172.20.1.160";
int main()
{
boost::asio::io_service io_service;
boost::asio::ip::tcp::resolver resolver(io_service);
boost::asio::ip::tcp::resolver::query query(server_ip, ES_port);
auto endpoint = *resolver.resolve(query);
boost::asio::ip::tcp::socket socket (io_service);
socket.connect(endpoint);
}
을, 나 또한 같은 시스템에서 실행중인 탄소 흑연 서버를 가지고 있고,
이terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> >'
what(): connect: Connection refused
누군가가 내가 도착하기 위해 알아야하는 무엇을 가르치 려 수 : I 연결하고 일반 텍스트 프로토콜을 통해이 데이터를 전송,하지만 난 소켓 연결이 elasticsearch 수 있도록 드릴 수 없습니다 수 있습니다, 나는 예외를 얻을 이게 효과가 있니? 기본 elasticsearch 로컬 호스트-을 청취하여
같은 IP에서 전송 요청입니까? – Satya
예. 그게 중요합니까? – Spacemoose
IP 대신에 localhost를 사용해도 되겠습니까? 단지 1 센트 – Satya